JavaScript "používať prísne"

V tomto tutoriále sa pomocou príkladov dozviete o syntaxe jazyka JavaScript „use strict“.

'use strict';uvádza, že kód JavaScript by sa mal vykonávať v „ prísnom režime “. Toto uľahčuje písanie dobrého a bezpečného kódu JavaScript. Napríklad,

 myVariable = 9;

Tu sa myVariable vytvorí bez deklarovania. Funguje to ako globálna premenná v JavaScripte. Ak to však použijete v prísnom režime, program spôsobí chybu. Napríklad,

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

Vyššie uvedený kód vyvolá chybu, pretože myVariable nie je deklarovaná. V prísnom režime nemôžete premennú použiť bez toho, aby ste ich deklarovali.

Na označenie, že tento program je v prísnom režime, sme použili

 'use strict';

v hornej časti programu.

Prísny režim môžete vyhlásiť pridaním 'use strict';alebo "use strict";na začiatku programu.

Keď na začiatku programu vyhlásite prísny režim, bude mať globálny rozsah a všetok kód v programe sa vykoná v prísnom režime.

Prísny režim v premennej

V prísnom režime použitie premennej bez jej deklarovania spôsobí chybu.

Poznámka : Na začiatku programu musíte vyhlásiť prísny režim . Ak pod nejakým kódom vyhlásite prísny režim, nebude to fungovať.

Napríklad,

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

Prísny režim vo funkcii

Vo funkcii môžete tiež použiť prísny režim. Napríklad,

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

Ak použijete 'use strict';funkciu, kód vo funkcii bude v prísnom režime.

Vo vyššie uvedenom programe 'use strict';sa používa vo vnútri hello()funkcie. Prísny režim je preto použiteľný iba vo vnútri funkcie.

Ako vidíte, na začiatku programu myVariablesa používa bez deklarovania.

Ak deklarujete 'use strict';v hornej časti programu, nemôžete použiť premennú bez toho, aby ste ju deklarovali aj vo vnútri funkcie. Napríklad,

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

Poznámka : Prísny režim sa nevzťahuje na blokové príkazy so ()zloženými zátvorkami.

Veci, ktoré nie sú povolené v prísnom režime

1. Nedeklarovaná premenná nie je povolená.

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

2. Nedeklarované objekty nie sú povolené.

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

3. Vymazanie objektu nie je povolené.

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

4. Duplikovanie názvu parametra nie je povolené.

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

5. Priradenie k majetku, na ktorý sa nedá zapísať, nie je povolené.

 '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. Pridelenie na nehnuteľnosť typu getter nie je povolené.

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

7. Priradenie k novej nehnuteľnosti na nerozšíriteľnom objekte nie je povolené.

 '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á syntax nie je povolená.

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

9. Argumenty názvu premennej a eval nie sú povolené.

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

10. Tieto vyhradené kľúčové slová nemôžete používať ani v prísnom režime.

implements interface let package private protected public static yield

Výhody prísneho režimu

Použitie prísneho režimu:

  • pomáha napísať čistejší kód
  • zmení predtým akceptované tiché chyby (zlá syntax) na skutočné chyby a zobrazí chybové hlásenie
  • uľahčuje písanie „zabezpečeného“ JavaScriptu

Zaujímavé články...