Вход Регистрация
ruen

Что такое режим use strict в JavaScript ES5 и зачем его использовать

JavaScript изначально позволяет писать код в достаточно простом режиме, что может приводить к различным неявным ошибкам и проблемам с безопасностью. С появлением новых стандартов и спецификаций (ECMAScript 5 (ES5) 2009) для этого языка, такие проблемы призван решить более строгий режим – use strict.

chto-takoe-rezhim-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.

Комментарии (0)
Для комментирования войдите или зарегистрируйтесь.

Последние статьи

Популярные разделы

Eqsash (Инструменты)

Приложение для Android - VK LAST USER ID, отучитель от зависимости и т.д.:
Доступно в Google Play

Amessage (Общение)

Вход в веб-версию
Приложение для Android:
Доступно в Google Play

Поделиться

Подписаться

YouTube

Книги

IT-заметки - Простым языком о самом нужном (HTML, CSS, JavaScript, PHP, базы данных, Drupal, Битрикс, SEO, домены, безопасность и другое), PDF, 500 стр.