JavaScript "použít přísný"

V tomto výukovém programu se pomocí příkladů dozvíte o syntaxi jazyka JavaScript „use strict“.

'use strict';uvádí, že kód JavaScript by měl být spuštěn v „ přísném režimu “. To usnadňuje psaní dobrého a zabezpečeného kódu JavaScript. Například,

 myVariable = 9;

Zde je myVariable vytvořena bez deklarace. To funguje jako globální proměnná v JavaScriptu. Pokud to však použijete v přísném režimu, program vyvolá chybu. Například,

 'use strict'; // Error myVariable = 9;

Výše uvedený kód vyvolá chybu, protože myVariable není deklarován. V přísném režimu nemůžete proměnnou použít, aniž byste ji deklarovali.

K označení, že je tento program v přísném režimu, jsme použili

 'use strict';

v horní části programu.

Přísný režim můžete deklarovat přidáním 'use strict';nebo "use strict";na začátku programu.

Když deklarujete přísný režim na začátku programu, bude mít globální rozsah a veškerý kód v programu se spustí v přísném režimu.

Přísný režim v proměnné

V přísném režimu použití proměnné bez deklarování vyvolá chybu.

Poznámka : Na začátku programu musíte deklarovat přísný režim . Pokud pod nějakým kódem deklarujete přísný režim, nebude to fungovat.

Například,

 console.log("some code"); // 'use strict' is ignored // must be at the top "use strict"; x = 21; // does not throw an error

Přísný režim ve funkci

Můžete také použít přísný režim uvnitř funkce. Například,

 myVariable = 9; console.log(myVariable); // 9 function hello() ( // applicable only for this function 'use strict'; string = 'hello'; // throws an error ) hello();

Pokud použijete 'use strict';uvnitř funkce, bude kód uvnitř funkce v přísném režimu.

Ve výše uvedeném programu 'use strict';se používá uvnitř hello()funkce. Proto je přísný režim použitelný pouze uvnitř funkce.

Jak vidíte, na začátku programu myVariablese používá bez deklarace.

Pokud deklarujete 'use strict';v horní části programu, nemůžete použít proměnnou, aniž byste ji deklarovali také uvnitř funkce. Například,

 // applicable to whole program 'use strict'; function hello() ( string = 'hello'; // throws an error ) hello();

Poznámka : Přísný režim se nevztahuje na příkazy bloku se ()složenými závorkami.

Věci nejsou povoleny v přísném režimu

1. Nehlášená proměnná není povolena.

 'use strict'; a = 'hello'; // throws an error

2. Nehlášené objekty nejsou povoleny.

 'use strict'; person = (name: 'Carla', age: 25); // throws an error

3. Odstranění objektu není povoleno.

 'use strict'; let person = (name: 'Carla'); delete person; // throws an error

4. Duplikování názvu parametru není povoleno.

 "use strict"; function hello(p1, p1) ( console.log('hello')); // throws an error hello();

5. Přiřazení k vlastnosti, na kterou nelze zapisovat, není povoleno.

 '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. Přiřazení k vlastnosti pouze pro získání není povoleno.

 'use strict'; let obj2 = ( get x() ( return 17; ) ); // assignment to a getter-only property obj2.x = 5; // throws an error

7. Přiřazení k nové vlastnosti na neroztažitelném objektu není povoleno.

 '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. Osmičková syntaxe není povolena.

 'use strict'; let a = 010; // throws an error

9. Argumenty názvu proměnné a eval nejsou povoleny.

 'use strict'; let arguments = 'hello'; // throws an error let eval = 44;

10. Tato vyhrazená klíčová slova také nemůžete používat v přísném režimu.

implements interface let package private protected public static yield

Výhody přísného režimu

Použití přísného režimu:

  • pomáhá napsat čistší kód
  • změní dříve přijaté tiché chyby (špatná syntaxe) na skutečné chyby a vyvolá chybovou zprávu
  • usnadňuje psaní „zabezpečeného“ JavaScriptu

Zajímavé články...