JavaScript Function.name — ім'я функції
Властивість name повертає ім'я функції — рядком.
Загальний опис
Найцікавіше — звідки береться ім'я в анонімної функції. Стрілкова функція власного імені не має, але якщо присвоїти її змінній, рушій виведе ім'я зі змінної: const load = () => {} дає load.name === 'load'.
Це дуже допомагає в стеках помилок і журналах — анонімні функції в них більше не безіменні.
Прив'язана через bind() функція отримує префікс: bound load.
Властивість лише читається (точніше, її не можна змінити звичайним присвоєнням).
автор: NagarD
Переглядачі
| Переглядач | ||||||
|---|---|---|---|---|---|---|
| name | 1+ | 1+ | 1+ | 3+ | 12+ | 9+ |
| Переглядач | ||||
|---|---|---|---|---|
| name | yes | yes | yes | yes |
Приклади
+ запропонувати свій приклад у пісочниці
Ім'я береться зі змінної — навіть у стрілки.
function loadUser() {}
const loadPost = () => {};
console.log(loadUser.name); // 'loadUser'
console.log(loadPost.name); // 'loadPost' — виведено зі змінної!
// bind додає префікс
console.log(loadUser.bind(null).name); // 'bound loadUser'
// корисно в журналах
function measure(fn) {
console.log('Викликаємо', fn.name);
return fn();
}
Коментарі
Коментарів ще немає — будьте першим!