JavaScript "використовувати строго"

У цьому посібнику ви дізнаєтесь про синтаксис 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

Цікаві статті...