Уроки 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 версії

 

 

Recent Posts

Що таке Unix Domain Socket: секретний тунель у Linux

У нашій подорожі світом сокетів ми почали з "верхнього поверху" — WebSocket у браузері, потім…

2 тижні ago

Мережеві сокети (Network Sockets): фундамент інтернету 🌐 | Глибоке занурення

У попередній статті ми говорили про WebSockets — технологію, що дозволяє створювати інтерактивні чати в…

2 тижні ago

Як доглядати за шкірою малюка влітку та взимку

Шкіра немовляти – тонка та ніжна. Ще не справляється із захистом організму від зовнішніх факторів.…

2 тижні ago

Що таке Сокети (WebSocket) 🔌 | детально для початківців

Уявіть собі телефонну розмову. Ви дзвоните другу, він піднімає слухавку, і ви можете говорити одночасно,…

2 тижні ago

Мобільний воркстейшн: чи може планшет 📱 замінити ноутбук веб-розробнику?

Довгий час планшети сприймалися виключно як пристрої для споживання контенту: подивитися YouTube, погортати стрічку новин…

2 тижні ago

Як примусово оновити кеш у користувачів 🧹 | Практичні методи

Ви внесли правки в CSS, виправили критичний баг у JavaScript, завантажили файли на сервер і…

3 тижні ago