var func1 = function() {}
console.info(func1.name); // func1
Есть ли какое-либо использование этого свойства в реальном времени с точки зрения разработчика javascript?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы можете использовать его для целей отладки, когда вы передаете функцию в качестве параметра другой функции, например:
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, я согласен ... Я ответил, потому что он получил так много голосов всего за один час, и в принятом ответе не упоминалось, что он широко используется.
Вы можете передать это имя функции третьей функции, которая сообщает, является ли она установщиком или получателем, и применяет правильный общий алгоритм. Также вы можете регистрировать вызовы функций.