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

Интересни статии...