Sobes.tech
Back to questions
Middle+
7

Что такое strict mode в JavaScript? В чём отличие, когда он включён и когда нет? Какие ограничения он накладывает?

Companies where asked
Т-БанкТ-Банк

Answer from AI

sobes.tech AI

Strict mode в JavaScript — это специальный режим, который вводит более строгие правила синтаксиса и поведения кода, помогая избежать распространённых ошибок и улучшить безопасность.

Отличия strict mode:

  • Включается директивой 'use strict'; в начале скрипта или функции.
  • В строгом режиме запрещены некоторые небезопасные или устаревшие конструкции.

Основные ограничения и изменения в strict mode:

  • Запрет на использование необъявленных переменных (например, x = 10; без var/let/const вызовет ошибку).
  • Нельзя удалять переменные, функции или аргументы (delete x; вызовет ошибку).
  • Запрет на дублирование имён параметров функции.
  • Значение this в функциях, вызванных без контекста, будет undefined вместо глобального объекта.
  • Запрет на использование зарезервированных слов как имён переменных (например, implements, interface).
  • Запрет на присваивание значения только для чтения или несуществующим свойствам.

Пример:

'use strict';

function test() {
  x = 10; // Ошибка: x не объявлена
}

test();

Без strict mode такой код создаст глобальную переменную x, что может привести к трудноуловимым ошибкам.

Таким образом, strict mode помогает писать более надёжный и предсказуемый код.