Почему «это» не определено в определении функции жирной стрелки? [Дубликат]

На этот вопрос уже есть ответ:

Методы в объектах ES6: использование функций стрелок 4 ответа

Сначала я попробовал это -

const profile = {
    name: 'Alex',
    getName: function(){
      return this.name;
    }
};

Который работает отлично. Теперь я попробовал то же самое с толстой стрелой. В этом случае «это» становится неопределенным.

const profile = {
    name: 'Alex',
    getName: () => {
      return this.name;
    }
};

Это дает мне ошибку

TypeError: Невозможно прочитать свойство 'name' из неопределенного

Что я узнал, так это то, что синтаксисы жирных стрелок намного лучше обрабатывают неявное «это». Пожалуйста, объясните, почему это происходит.

Ответы на вопрос(1)

Ваш ответ на вопрос