Насколько полезно свойство Function.name?

var func1 = function() {}
console.info(func1.name); // func1

Есть ли какое-либо использование этого свойства в реальном времени с точки зрения разработчика javascript?

Вы можете передать это имя функции третьей функции, которая сообщает, является ли она установщиком или получателем, и применяет правильный общий алгоритм. Также вы можете регистрировать вызовы функций.

Justinas 21.03.2018 08:16
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
5
1
103
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Вы можете использовать его для целей отладки, когда вы передаете функцию в качестве параметра другой функции, например:

var fun1 = function(){};

function fun2(){};

var g = function(f){
    console.info("Invoking " + f.name);
    f();
}

if (Math.random() > 0.5){
    g(fun1);
} else {
    g(fun2);
}

Ответ на этот вопрос будет довольно широким, поскольку существуют сотни примеров использования свойства name. Они подробно описаны в JavaScript документация. Ниже приведены несколько примеров.

Изменение имени функции.

var newName = "xyzName";
var f = function () {};
Object.defineProperty(f, 'name', {value: newName});
console.info(f.name); // will output xyzName

Для регистрации стека классов мы можем получить имя конструктора, как в следующем примере.

function a() {};
var b = new a();
console.info(b.constructor.name); // will output a

Получите имя функции, если оно не анонимно.

var getRectArea = function area(width, height) {
    return width * height;
}
getRectArea.name; //will output area

Сам вопрос также довольно широкий и основан на мнении, и его следует закрывать, а не отвечать. «Не на все вопросы можно и нужно ответить здесь». stackoverflow.com/help/how-to-answer

Rob 21.03.2018 14:59

@Rob, я согласен ... Я ответил, потому что он получил так много голосов всего за один час, и в принятом ответе не упоминалось, что он широко используется.

Waqas Bukhary 21.03.2018 15:43

Другие вопросы по теме