> В чем отличие контекста в строгом режиме и без него в JavaScript (JavaScript)

Уровень: senior · Роль: frontend · Категория: Технические вопросы

Компании: ООО Снэп АйТи

Стек: JavaScript

> Пример ответа

В строгом режиме ('use strict') значение this в обычных функциях (не стрелочных) остается undefined, если функция вызвана без явного контекста. В нестрогом режиме в том же случае this автоматически ссылается на глобальный объект (window в браузере, global в Node.js). Это ключевое отличие, которое предотвращает случайное загрязнение глобальной области видимости.

Пример:

JAVASCRIPT
function showThis() {
console.log(this);
}
showThis(); // В нестрогом: window/global; в строгом: undefined

Кроме того, в строгом режиме:

  • Запрещено присваивание значения необъявленным переменным (выбрасывается ReferenceError).
  • Нельзя использовать with.
  • Удаление свойств через delete для неконфигурируемых свойств вызывает ошибку.
  • Параметры функции с одинаковыми именами запрещены.
  • arguments.callee и arguments.caller недоступны.

Эти ограничения делают код более безопасным и предсказуемым, а также позволяют движку JavaScript выполнять оптимизации.

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью