JavaScript

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

Lorem ipsum dolor

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»?» Вообще это риторический вопрос, и однозначно на него не ответить. С одной стороны, этот режим улучшает код, но другой стороны, при кодировании в этом режиме увеличивается время разработки. Поэтому тут, скорее всего, будет зависеть от проекта и лично от вас как от разработчика: нужен он вам или нет.

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

Что значит JavaScript Error: учимся дебажить JavaScript на примерах
JavaScript

Что значит JavaScript Error: учимся дебажить JavaScript на примерах

Что лучше: Java или C? Сравнительная характеристика, плюсы и минусы
JavaScript

Что лучше: Java или C? Сравнительная характеристика, плюсы и минусы

Учебный курс по React, часть 10: практикум по работе со свойствами компонентов и стилизации
JavaScript

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

Что лучше: Java или JavaScript? Сравнительная характеристика, плюсы и минусы
JavaScript

Что лучше: Java или JavaScript? Сравнительная характеристика, плюсы и минусы