Стрелка получает this из окружающего лексического контекста. Он может быть undefined, если, например, стрелка создана внутри обычной strict-функции, вызванной без receiver.
Можно ли сделать так, чтобы this у стрелочной функции был undefined, например запустив код в изолированном окружении или strict mode? Что делает strict mode?
Стрелка получает this из окружающего лексического контекста. Он может быть undefined, если, например, стрелка создана внутри обычной strict-функции, вызванной без receiver.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Стрелка получает this из окружающего лексического контекста. Он может быть undefined, если, например, стрелка создана внутри обычной strict-функции, вызванной без receiver.
Strict mode не переназначает this самой стрелке. В ES-модуле верхнеуровневый this равен undefined; в обычном браузерном script он ведёт себя иначе. Строгий режим также запрещает некоторые небезопасные конструкции и делает ряд молчаливых ошибок явными.