Строгий режим use strict
- Что такое use strict
- Как включить строгий режим
- Где писать use strict
- Пример с переменной
- Чем полезен строгий режим
- Нужно ли всегда писать use strict
’use strict’ - это специальная директива JavaScript, которая включает строгий режим выполнения кода. В этом режиме язык становится чуть строже и раньше сообщает об ошибках, которые в обычном режиме могли бы пройти незаметно.
Для новичка строгий режим полезен тем, что помогает писать аккуратнее. Если в коде есть сомнительное место, JavaScript скорее покажет ошибку в консоли, чем молча выполнит что-то неожиданное.
Что такое use strict
Строгий режим появился не сразу. JavaScript развивался много лет, и в старом коде были особенности, которые сейчас считаются неудобными или опасными. Полностью убрать их нельзя, потому что тогда сломаются старые сайты.
Поэтому сделали отдельный режим. Если написать ‘use strict’, JavaScript начинает работать по более строгим правилам.
'use strict';
console.log('Строгий режим включен');
Сама строка ‘use strict’ ничего не выводит на страницу и не появляется в консоли. Она просто говорит интерпретатору: дальше выполняй код в строгом режиме.
Как включить строгий режим
Чтобы включить строгий режим для всего файла, нужно написать директиву в самом начале JavaScript-файла:
'use strict';
let message = 'Изучаем JavaScript';
console.log(message);
Можно использовать одинарные или двойные кавычки:
"use strict";
Обычно в примерах чаще встречается вариант с одинарными кавычками. На работу кода это не влияет.
Где писать use strict
Директива должна находиться в начале скрипта, до обычных инструкций.
Правильно:
'use strict';
let name = 'Алексей';
console.log(name);
А здесь строгий режим уже не включится для всего файла:
let name = 'Алексей';
'use strict';
console.log(name);
Проблема в том, что перед ‘use strict’ уже есть обычная инструкция. JavaScript воспримет эту строку как простой текст, который ничего не меняет.
Комментарии перед директивой писать можно:
// Файл с первым JavaScript-кодом
'use strict';
console.log('Работаем в строгом режиме');
Пример с переменной
Один из самых понятных примеров - случайное создание переменной без let, const или var.
В нестрогом режиме такой код может сработать:
message = 'Привет';
console.log(message);
На первый взгляд все хорошо, но проблема в том, что переменная создана неявно. В большом коде такая ошибка может привести к неожиданному поведению.
В строгом режиме JavaScript покажет ошибку:
'use strict';
message = 'Привет';
console.log(message);
В консоли можно увидеть примерно такое сообщение:
Uncaught ReferenceError: message is not defined
Исправляем код, объявив переменную явно:
'use strict';
let message = 'Привет';
console.log(message);
Теперь все корректно: переменная создана через let, значение записано, сообщение выводится в консоль.
Чем полезен строгий режим
Строгий режим помогает раньше замечать ошибки и не полагаться на старые особенности JavaScript.
Он полезен, потому что:
- запрещает случайно создавать переменные без объявления;
- показывает больше ошибок в консоли;
- делает поведение кода более предсказуемым;
- помогает привыкнуть к современному стилю JavaScript;
- уменьшает количество скрытых ошибок.
Это не волшебная защита от всех проблем. ‘use strict’ не исправляет код за нас и не объясняет каждую ошибку простыми словами. Но он помогает не пропускать часть проблем, которые в обычном режиме могли бы остаться незаметными.
Нужно ли всегда писать use strict
Если вы пишете простой JavaScript-файл и подключаете его к HTML через обычный <script src=“script.js”></script>, директиву ‘use strict’ можно поставить в начало файла.
'use strict';
// дальше код файла
В современных JavaScript-модулях строгий режим включается автоматически. Например, если подключить файл как модуль:
<script type="module" src="script.js"></script>
В таком случае отдельно писать ‘use strict’ уже не обязательно. Но для первых уроков полезно знать эту директиву и понимать, почему она встречается в учебниках и примерах.
Что дальше
Теперь мы знаем, что такое строгий режим и зачем нужна директива ‘use strict’. Она помогает писать более аккуратный код и раньше замечать ошибки.
На этом вводная часть курса становится понятнее: мы знаем, что такое JavaScript, как подключить его к HTML, как смотреть результат в консоли и как читать первые ошибки. Дальше можно переходить к методам и инструментам этого раздела.