> В чем отличие контекста в строгом режиме и без него в JavaScript (JavaScript)
Уровень: senior · Роль: frontend · Категория: Технические вопросы
Компании: ООО Снэп АйТи
Стек: JavaScript
> Пример ответа
В строгом режиме ('use strict') значение this в обычных функциях (не стрелочных) остается undefined, если функция вызвана без явного контекста. В нестрогом режиме в том же случае this автоматически ссылается на глобальный объект (window в браузере, global в Node.js). Это ключевое отличие, которое предотвращает случайное загрязнение глобальной области видимости.
Пример:
JAVASCRIPTfunction showThis() {console.log(this);}showThis(); // В нестрогом: window/global; в строгом: undefined
Кроме того, в строгом режиме:
- Запрещено присваивание значения необъявленным переменным (выбрасывается
ReferenceError). - Нельзя использовать
with. - Удаление свойств через
deleteдля неконфигурируемых свойств вызывает ошибку. - Параметры функции с одинаковыми именами запрещены.
arguments.calleeиarguments.callerнедоступны.
Эти ограничения делают код более безопасным и предсказуемым, а также позволяют движку JavaScript выполнять оптимизации.
> Похожие задачи по frontend
Какой тип данных должна возвращать функция retry в JavaScript
Как использовать resolve и reject внутри callback для управления состоянием Promise в JavaScript
Что происходит с функцией в Map, пока на Map есть ссылка в JavaScript
Какие подводные камни есть при использовании ссылочных типов в JavaScript кроме сравнения
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью