Почему «это» не определено в определении функции жирной стрелки? [Дубликат]
На этот вопрос уже есть ответ:
Методы в объектах ES6: использование функций стрелок 4 ответаСначала я попробовал это -
const profile = {
name: 'Alex',
getName: function(){
return this.name;
}
};
Который работает отлично. Теперь я попробовал то же самое с толстой стрелой. В этом случае «это» становится неопределенным.
const profile = {
name: 'Alex',
getName: () => {
return this.name;
}
};
Это дает мне ошибку
TypeError: Невозможно прочитать свойство 'name' из неопределенного
Что я узнал, так это то, что синтаксисы жирных стрелок намного лучше обрабатывают неявное «это». Пожалуйста, объясните, почему это происходит.