Официальная спецификация говорит нам о том, что функциональный обьект, должен содержать property - name.
Это property заполняется по по определенным правилам, с которыми можно ознакомиться https://tc39.es/ecma262/#sec-setfunctionname
Например код:
var myFunc = () => {}приведет к созданию функционального обьекта где property name будет установлено в myFunc
console.dir(myFunc)
> myFunc()
Практическая польза от подобного property существует только для случаев отладки, когда разбирая stack trace
можно видеть вместо названия anonymous function что то более осмысленное.
Особенно это полезно в случае, когда функциональный обьект используется как конструктор, для создания подобных
обьектов.
Вопрос:
Каким образом можно изменить имя уже заявленного функционального обьекта.
То есть как после выполнения кода
var myFunc = () => {}сделать так, чтобы команда
console.dir(myFunc);Вывела не
> myFunc()
А то что мы хотим.
Сразу скажу, что способ
myFunc.name="example"
не сработает