потому что стрелочная функция наследует this из внешней области видимости. И это глобальная область видимости (в этом случае), а не область видимости объекта
получается, что область видимости не относится к тому, что описано внутри объекта область видимости относится к цепочке областей видимости от внутренней области видимости функции/фигурных скобок цикла или if ___ до глобальной области видимости
для стрелочной функции так не работает. когда внутри ее нужно определить значение this, она ссылается на внешнюю для нее область видимости. И, если стрелочная функция описана как метод объекта и ей нужен this, то сразу начинается поиск вне объекта, потому что это ВНЕШНЯЯ ОБЛАСТЬ видимости для стрелочной функции
Стрелочная функция - это синтаксический сахар (с некоторыми тонкостями) для .bind(this)
начинаю понимать я это пробовал понять месяца 3 назал сравнивал по-разному обычный метод со стрелочным понимал тогда, просто забыл но да , что-то в этом есть ведь если внутри обьекта определить ещё один обьект, и у него уже сделать обычную функцию вроде this будет глобальным )
Наверху this === window вот и всё. Лет 10 назад это на собесах спрашивали.
если у твоего вложенного объекта будет метод, описанный через function, то у него будет свой this
Обсуждают сегодня