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

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

Chakra JIT Compiler: определение, функции, применение и назначение
JavaScript

Chakra JIT Compiler: определение, функции, применение и назначение

Учебный курс по React, часть 6: о некоторых особенностях курса, JSX и JavaScript
JavaScript

Учебный курс по React, часть 6: о некоторых особенностях курса, JSX и JavaScript

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

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

Утечка памяти в С и JavaScript: почему происходит и как предотвратить/исправить
JavaScript

Утечка памяти в С и JavaScript: почему происходит и как предотвратить/исправить

×