У цьому посібнику ви дізнаєтесь про синтаксис JavaScript "використовуйте строгий" за допомогою прикладів.
'use strict';
зазначає, що код JavaScript повинен виконуватися в " суворому режимі ". Це полегшує написання хорошого та безпечного коду JavaScript. Наприклад,
myVariable = 9;
Тут myVariable створюється без оголошення. Це працює як глобальна змінна в JavaScript. Однак, якщо ви використовуєте це в суворому режимі, програма видасть помилку. Наприклад,
'use strict'; // Error myVariable = 9;
Наведений вище код видає помилку, оскільки myVariable не оголошено. У суворому режимі ви не можете використовувати змінну, не оголошуючи їх.
Щоб вказати, що ця програма знаходиться в суворому режимі, ми використовували
'use strict';
у верхній частині програми.
Ви можете оголосити суворий режим, додавши 'use strict';
або "use strict";
на початку програми.
Коли ви оголошуєте жорсткий режим на початку програми, він матиме глобальний обсяг, і весь код програми буде виконуватися в суворому режимі.
Строгий режим із змінною
У строгому режимі використання змінної без її оголошення видає помилку.
Примітка : Вам потрібно оголосити суворий режим на початку програми. Якщо ви оголосите жорсткий режим під деяким кодом, це не буде працювати.
Наприклад,
console.log("some code"); // 'use strict' is ignored // must be at the top "use strict"; x = 21; // does not throw an error
Суворий режим у функціях
Ви також можете використовувати жорсткий режим всередині функції. Наприклад,
myVariable = 9; console.log(myVariable); // 9 function hello() ( // applicable only for this function 'use strict'; string = 'hello'; // throws an error ) hello();
Якщо ви використовуєте 'use strict';
всередині функції, код всередині функції буде в суворому режимі.
У наведеній вище програмі 'use strict';
використовується всередині hello()
функції. Отже, суворий режим застосовується лише всередині функції.
Як бачите, на початку програми myVariable
використовується без декларування.
Якщо ви оголосите 'use strict';
у верхній частині програми, ви не зможете використовувати змінну, не оголосивши її всередині функції. Наприклад,
// applicable to whole program 'use strict'; function hello() ( string = 'hello'; // throws an error ) hello();
Примітка : Строгий режим не застосовується до блокових операторів із ()
фігурними дужками.
Речі, не дозволені в суворому режимі
1. Недекларована змінна не допускається.
'use strict'; a = 'hello'; // throws an error
2. Недекларовані об'єкти заборонені.
'use strict'; person = (name: 'Carla', age: 25); // throws an error
3. Видалення об’єкта заборонено.
'use strict'; let person = (name: 'Carla'); delete person; // throws an error
4. Дублювання імені параметра заборонено.
"use strict"; function hello(p1, p1) ( console.log('hello')); // throws an error hello();
5. Присвоєння властивостям, що не можна писати, заборонено.
'use strict'; let obj1 = (); Object.defineProperty(obj1, 'x', ( value: 42, writable: false )); // assignment to a non-writable property obj1.x = 9; // throws an error
6. Присвоєння властивості лише для отримання не допускається.
'use strict'; let obj2 = ( get x() ( return 17; ) ); // assignment to a getter-only property obj2.x = 5; // throws an error
7. Присвоєння новим властивостям об’єкта, що не розширюється, заборонено.
'use strict'; let obj = (); Object.preventExtensions(obj); // Assignment to a new property on a non-extensible object obj.newValue = 'new value'; // throws an error
8. Вісімковий синтаксис заборонений.
'use strict'; let a = 010; // throws an error
9. Аргументи імені змінної та eval не допускаються.
'use strict'; let arguments = 'hello'; // throws an error let eval = 44;
10. Ви також не можете використовувати ці зарезервовані ключові слова в суворому режимі.
implements
interface
let
package
private
protected
public
static
yield
Переваги строгого режиму
Використання суворого режиму:
- допомагає написати чистіший код
- змінює раніше прийняті мовчазні помилки (неправильний синтаксис) на реальні помилки та видає повідомлення про помилку
- полегшує написання "безпечного" JavaScript