Уроки 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 версии
Последние посты
Антуан де Сент-Экзюпери
Никогда не теряй терпения — это последний ключ, отпирающий двери Антуан де Сент-Экзюпери Читать далее
Сомерсет Моэм
Когда вы станете старше, вы поймете, что в мире можно хоть как-нибудь жить только при… Читать далее
Михаил Грушевский
Все учатся своему родному языку, а наша беда такова, что нужно учить его больше, чем… Читать далее
ТОП-5 надежных покерных обменников
Профессиональный покер – это многочисленные турниры и крупные суммы, что требует правильной настройки финансовых инструментов.… Читать далее
Гай Юлий Цезарь
Все вокруг стремятся истребить врагов, но не объединиться с друзьями Гай Юлий Цезарь Читать далее
Как выбрать оптимальный смартфон для ребенка?
Сегодняшние дети сталкиваются с технологиями с самого раннего возраста, и смартфон уже давно перестал быть… Читать далее