Вернуться




Use strict, что это? Зачем в JavaScript нужен строгий режим?



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

Синтаксис «строгого режима» отличается от традиционного синтаксиса JavaScript. В нем не проходят многие ошибки, которые легко пройдут в стандартном. Поэтому очень часто стандартный синтаксис называют «грязным», от того что в нем многие мелкие ошибки игнорируются. Такое «игнорирование» это не всегда плохо. В мелких проектах молодых разработчиков оно ни к чему плохому не приводит. Но если проект большой, то наличие в коде «мелких» ошибок иногда может привести к непредсказуемым результатам. И чтобы этого не произошло, разработчики применяют режим use strict при разработке на языке JavaScript.

Строгий режим не даст системе закрыть глаза на «тихие» ошибки и заставит ее остановить процесс выполнения программы в случае их обнаружения. То есть этот режим дает возможность писать программы, в которых не будет недочетов.

 

Use strict в JavaScript

Use strict в JavaScript может применяться ко всему документу сразу или к отдельным его функциям. Для того чтобы включить этот режим в документе, необходимо в нужном месте разместить выражение «Use strict» в одинарных или двойных кавычках.

Когда нет желания подключать весь документ к строгому режиму, нужно осторожно относиться к чередованию «строгих» или «нестрогих» функций в документе. Иногда в такой смеси под «строгий режим» попадает код функции, которая для этого не рассчитана. И наоборот, код, который должен быть в «строгом» режиме, попадает под «нестрогий».

Когда нужно сделать отдельную функцию «строгой», то в ее верхней части тела нужно вписать «Use strict». При этом все, что входит в состав этой функции, будет в «строгом режиме», даже другие вложенные функции.

 

Отличия «use strict» и стандартный режим в JavaScript

Применение «Use strict» вносит следующие изменения в JavaScript:

  1. При режиме «strict» к неопределенной переменной не присваивается значение.

  2. Нельзя применить инструкцию «with».

  3. Нет возможности добавить повторяющиеся свойства в литерале объекта.

  4. Нет возможности добавить дополнительные параметры формальной функции.

  5. Когда изменяется объект «arguments», не изменяются аргументы.

  6. Когда аргумент является неизменяемым свойством объекта, то «delete» выдаст ошибку.

  7. Нет возможности преобразовать «this» в объект.

  8. Нет возможности изменять «eval» и «arguments», а также применять их в качестве имени.

  9. Увеличенное количество слов, которые зарезервировали для будущего применения.

  10. Нет возможности использовать восьмеричную систему.

  11. Нет возможности применять конструкции кода, которые могут затруднить оптимизацию самого кода.

  12. Нельзя объявить переменную в коде, который был передан методу «eval».

  13. Нельзя удалить обычные переменные.

  14. И др.

     

Заключение

Use strict в JavaScript — это то, что делает код чище и безопасней. Этот режим существует уже очень долго и поддерживается всеми современными браузерами. Проблемы с этим режимом могут возникнуть только в старых версиях Internet Explorer.

Use strict в JavaScript часто используется для лучшей оптимизации программы, а также для поиска «тихих» ошибок, которые могут давать неоднозначные результаты. 

Часто спрашивают: «А всегда ли нужно использовать режим «use strict»?» Вообще это риторический вопрос, и однозначно на него не ответить. С одной стороны, этот режим улучшает код, но другой стороны, при кодировании в этом режиме увеличивается время разработки. Поэтому тут, скорее всего, будет зависеть от проекта и лично от вас как от разработчика: нужен он вам или нет.



Если вам понравилась эта статья поделитесь ею с друзьями, тем самым вы помогаете нам развиваться и добавлять всё больше интересного и полезного контента!




Cхожие статьи





Учебный курс по React, часть 1: обзор курса, причины популярности React, ReactDOM и JSX

Учебный курс по React, часть 1: обзор курса, причины популярности React, ReactDOM и JSX

Представляем вашему вниманию первое занятие учебного курса по React для нач ...

21 Февраля 2021    JavaScript

Учебный курс по React, часть 2: функциональные компоненты

Учебный курс по React, часть 2: функциональные компоненты

 Cегодня мы представляем вашему внимание продолжение курса. Здесь мы погово ...

21 Февраля 2021    JavaScript

Учебный курс по React, часть 3: файлы компонентов, структура проектов

Учебный курс по React, часть 3: файлы компонентов, структура проектов

В этом материале мы поговорим о файлах компонентов и о структуре React-прое ...

21 Февраля 2021    JavaScript