В този урок ще научите за синтаксиса „използвайте строг“ на 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