Можно ли сделать так, чтобы this у стрелочной функции был undefined, например запустив код в изолированном окружении или strict mode? Что делает strict mode?

Стрелка получает this из окружающего лексического контекста. Он может быть undefined, если, например, стрелка создана внутри обычной strict-функции, вызванной без receiver.

Короткий ответ

Что ответить на собеседовании

Стрелка получает this из окружающего лексического контекста. Он может быть undefined, если, например, стрелка создана внутри обычной strict-функции, вызванной без receiver.

Подробный разбор

Ответ с пояснениями

Стрелка получает this из окружающего лексического контекста. Он может быть undefined, если, например, стрелка создана внутри обычной strict-функции, вызванной без receiver.

Strict mode не переназначает this самой стрелке. В ES-модуле верхнеуровневый this равен undefined; в обычном браузерном script он ведёт себя иначе. Строгий режим также запрещает некоторые небезопасные конструкции и делает ряд молчаливых ошибок явными.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее