45
Обновлено: 25 января 2025
Что такое «use strict» в JavaScript: подробное руководство
«use strict» — это директива в JavaScript, которая переводит код в строгий режим выполнения. Введённая в ECMAScript 5, она помогает писать более безопасный код и избегать распространённых ошибок. Давайте разберем всё по порядку.
Как включить строгий режим
Строгий режим можно активировать двумя способами:
1. Для всего файла
// Должно быть в самом начале файла
'use strict';
function example() {
// Код в строгом режиме
let x = 10;
}
2. Для отдельной функции
function strictFunction() {
'use strict';
// Этот код будет выполняться в строгом режиме
}
function nonStrictFunction() {
// Этот код будет выполняться в обычном режиме
}
Основные отличия строгого режима
1. Запрет неявного объявления переменных
// В обычном режиме
name = "John"; // Работает
// В строгом режиме
'use strict';
name = "John"; // Ошибка: name is not defined
let name = "John"; // Правильно
2. Ошибка при удалении неудаляемых свойств
'use strict';
delete Object.prototype; // Выбросит ошибку
3. Запрет дублирования параметров функций
// В обычном режиме - работает
function sum(a, a) {
return a + a;
}
// В строгом режиме - ошибка
'use strict';
function sum(a, a) { // SyntaxError
return a + a;
}
Преимущества использования «use strict»
- Предотвращает случайное создание глобальных переменных
- Выбрасывает ошибки при распространённых ошибках программирования
- Запрещает использование потенциально опасных конструкций
- Упрощает написание «безопасного» кода
- Оптимизирует производительность кода в некоторых случаях
Что запрещает строгий режим
Действие | Обычный режим | Строгий режим |
---|---|---|
Использование необъявленных переменных | Разрешено | Ошибка |
Удаление переменных | Игнорируется | Ошибка |
Дублирование параметров | Разрешено | Ошибка |
Восьмеричные литералы | Разрешены | Ошибка |
Важные замечания при использовании «use strict»
- Директива должна быть в начале файла или функции
- Отменить строгий режим после его включения невозможно
- Современные модули JavaScript автоматически используют строгий режим
- При объединении файлов нужно быть внимательным с порядком
Практические примеры
// Пример 1: Предотвращение глобальных переменных
'use strict';
function showAge() {
age = 25; // Ошибка: age is not defined
}
// Пример 2: Защита от случайного this
'use strict';
function showThis() {
console.log(this); // undefined
}
showThis();
// Пример 3: Запрет удаления переменных
'use strict';
let x = 1;
delete x; // Ошибка
Рекомендации по использованию
- Всегда используйте строгий режим в новых проектах
- Проверяйте совместимость сторонних библиотек со строгим режимом
- При работе со старым кодом тщательно тестируйте после включения строгого режима
- Используйте современные инструменты сборки, которые автоматически включают строгий режим
Заключение
«use strict» — это важный инструмент для написания качественного JavaScript-кода. Он помогает избегать распространённых ошибок и делает код более безопасным и предсказуемым. В современной разработке использование строгого режима считается хорошей практикой, особенно при работе с новыми проектами.