Что такое режим use strict в JavaScript ES5 и зачем его использовать
JavaScript изначально позволяет писать код в достаточно простом режиме, что может приводить к различным неявным ошибкам и проблемам с безопасностью. С появлением новых стандартов и спецификаций (ECMAScript 5 (ES5) 2009) для этого языка, такие проблемы призван решить более строгий режим – use strict.
Режим use strict переключает обработчик кода JavaScript в расширенный режим проверки кода. Некоторые написанные конструкции могут начать выдавать ошибки, после включения данного режима. Данный режим может не поддерживаться некоторыми браузерами, включая старые (IE 9–) – в них директива рассматривается как обычная строка и не несет никакого смысла. Включение режима позволит находить ошибки быстрее и запретит использовать неправильные приемы кодирования.
Как включить режим use strict? По умолчанию режим выключен в целях совместимости со старым кодом, рекомендуется всегда включать данный режим в своих проектах. Для переключения работы кода в современным режим достаточно в начале файле с JS кодом написать:
"use strict";
или
'use strict';
Также возможно использовать данный режим внутри функций, тогда он будет распространяться только на код внутри текущего блока. Однако проще указать директиву для всего файла. Директива должна быть указана в самом начале файла или функции, иначе она не сработает (возможно размещение после комментариев). После включения режима – отключить его нельзя для текущего участка или файла. Важно помнить, что если используется консоль в браузере для тестирования кода, то также необходимо включать режим аналогичным способом, если необходимо проверить код в строгом режиме.
Выше было выяснено зачем использовать use strict – использовать его рекомендуется повсеместно, но в будущем возможно автоматическое включение строго режима по умолчанию. Например, уже сейчас можно использовать новые структуры JS – классы и модули, в которых данный режим включен по умолчанию. Появление строго режима позволит совершенствовать JS и в будущем.
Включение строго режима накладывает ряд ограничений, в частности, в новом режиме не допускается:
– дублирование имени параметра;
– использование переменной и объектов без объявления;
– удаление переменной, объектов, функций, свойств, которые невозможно удалить;
– использование восьмеричных числовых литералов (010) и escape-символов ("\010");
– запись в свойство, доступное только для чтения или получения;
– использовать как переменную слова eval, arguments;
– объявление with;
– создавать при помощи eval переменные в области, из которой он был вызван.
При написании кода важно также помнить о новых зарезервированных словах и не использовать их в своем коде: publicv, static, let, package, private, implements, interface, yield, protected.
Последние статьи
- 03.04.24ИТ / Уроки PHP Уроки простыми словами. Урок 3. Все операторы PHP с примерами, с выводом работы кода на экран.
- 02.04.24ИТ / Уроки PHP Уроки простыми словами. Урок 2. Типы данных в PHP с примерами.
- 02.04.24ИТ / Уроки PHP Уроки простыми словами. Урок 1. Коротко о языке веб-программирования PHP. Основы синтаксиса.
- 09.11.23ИТ / Базы данных Ошибки при переходе с MySQL 5.6 на 5.7 и как их исправить - импорт дампа БД завершился ошибкой или не работает INSERT. Отключение строгого режима STRICT_TRANS_TABLES или использование IGNORE
- 08.07.22ИТ / Разное Конвертация офисных файлов DOC, DOCX, DOCM, RTF в форматы DOCX, DOCM, DOC, RTF, PDF, HTML, XML, TXT без потерь и изменения разметки