Уроки JavaScript – строгий режим (strict-mode)
Когда разработчик пишет скрипты в строгом режиме, это облегчает ему создание «безопасного» JavaScript. По умолчанию JavaScript позволяет программисту писать код немного небрежно, например, не объявлять переменные с помощью var
при первом их появлении. Хотя это может показаться удобным для некоторых разработчиков, такой подход может быть причиной многих ошибок, когда имя переменной написано с ошибкой или случайно указано вне ее области действия.
Программисты любят заставлять компьютер делать за них скучные вещи и автоматически проверять их работу на наличие ошибок. Это то, что позволяет делать директива use strict
в JavaScript, которая превращает ошибки в написании кода в JavaScript ошибки.
Чтобы использовать строгий режим в своем скрипте, вам достаточно лишь указать эту директиву в начале JavaScript файла:
// Синтаксис строгого режима для всего скрипта "use strict"; var v = "Включен строгий режим!";
или вы можете добавить строгий режим на уровне функции:
function func() { // Синтаксис строгого режима на уровне функции 'use strict'; function func_nested() { return "здесь тоже строгий режим"; } return "Включен строгий режим " + func_nested(); } function func2() { return "А здесь уже не включен строгий режим"; }
Добавив эту директиву в файл или функцию JavaScript, мы заставляем движок JavaScript работать в строгом режиме, который отключает некоторый набор поведений, который обычно нежелателен в больших JavaScript проектах. Помимо прочего, строгий режим влияет на следующие моменты:
- Переменные могут быть объявлены только тогда, когда им предшествует ключевое слово
var
- Попытка записи в свойства только для чтения приводит к ошибке
- Конструкторы должны вызываться с ключевым словом
new
- Ключевое слово
this
не является неявно связанным с глобальным объектом - Разрешено ограниченное использование
eval()
- Защищает программиста от использования зарезервированных (системных) ключевых слов или особых ключевых слов в качестве имен переменных
Строгий режим отлично подходит для новых проектов, но может оказаться сложным для внедрения в более старые проекты. Внедрение строго режима может вызывать проблемы, если, например, вы объединяете все ваши js-файлы в один большой файл, поскольку это может привести к тому, что все объединенные файлы будут выполняться в строгом режиме.
Строгий режим не является обязательным к выполнению, и может игнорироваться более ранними версиями JavaScript. Строгий режим (use strict
) поддерживается в таких браузерах:
- Internet Explorer с 10 версии
- Firefox с 4 версии
- Chrome с 13 версии
- Safari с 5.1 версии
- Opera с 12 версии
This post was last modified on 27/04/2019 16:12
Последние посты
Генри Форд
Человек имеет два мотива поведения — один настоящий и второй, который красиво звучит Генри Форд…
Фридрих Ницше
Не нужно додумывать слишком много. Так вы создаете проблемы, которых изначально не было Фридрих Ницше…
Такой разный инвертор! Выбираем между кондиционерами Inverter, Inverter DC и Full DC
Лето в разгаре, а значит самое время задуматься о покупке кондиционера. Но как не потеряться…
Омар Хайям
Настоящий друг — это человек, который в глаза тебе выскажет все, что о тебе думает,…
Полезные советы по выбору раздвижной двери
Следует знать, что функциональность и дизайн работают рука об руку, когда вы используете раздвижную дверь.…