JavaScript "uporabljaj strogo"

V tej vadnici boste s pomočjo primerov spoznali sintakso JavaScript "uporabljaj strogo".

'use strict';navaja, da je treba kodo JavaScript izvajati v " strogem načinu ". Tako je lažje pisati dobro in varno kodo JavaScript. Na primer

 myVariable = 9;

Tu je myVariable ustvarjen brez prijave. To deluje kot globalna spremenljivka v JavaScript. Če pa to uporabljate v strogem načinu, bo program sprožil napako. Na primer

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

Zgornja koda vrže napako, ker myVariable ni prijavljen. V strogem načinu spremenljivke ne morete uporabiti, ne da bi jo prijavili.

Za navedbo, da je ta program v strogem načinu, smo uporabili

 'use strict';

na vrhu programa.

Strogi način lahko razglasite z dodajanjem 'use strict';ali "use strict";na začetku programa.

Ko na začetku programa razglasite strog način, bo imel globalni obseg in vsa koda v programu se bo izvajala v strogem načinu.

Strogi način v spremenljivki

V strogem načinu uporaba spremenljivke, ne da bi jo prijavili, povzroči napako.

Opomba : Na začetku programa morate razglasiti strog način . Če pod določeno kodo razglasite strog način, ne bo deloval.

Na primer

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

Strogi način v funkciji

V funkciji lahko uporabite tudi strog način. Na primer

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

Če uporabljate 'use strict';funkcijo, bo koda znotraj funkcije v strogem načinu.

V zgornjem programu 'use strict';se uporablja znotraj hello()funkcije. Strogi način je torej uporaben samo znotraj funkcije.

Kot lahko vidite, se na začetku programa myVariableuporablja brez izjave.

Če deklarirate 'use strict';na vrhu programa, spremenljivke ne morete uporabiti, ne da bi jo prijavili tudi znotraj funkcije. Na primer

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

Opomba : Strogi način ne velja za blokiranje stavkov z ()oklepaji.

Stvari niso dovoljene v strogem načinu

1. neprijavljena spremenljivka ni dovoljena.

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

2. Neprijavljeni predmeti niso dovoljeni.

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

3. Brisanje predmeta ni dovoljeno.

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

4. Podvajanje imena parametra ni dovoljeno.

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

5. Dodelitev lastnosti, na katere se ne da zapisovati, ni dovoljena.

 '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. Dodelitev lastnosti samo getter ni dovoljena.

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

7. Dodelitev nove lastnosti na neraztegljivem objektu ni dovoljeno.

 '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. Osmerovna sintaksa ni dovoljena.

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

9. Argumenta imena spremenljivke in eval nista dovoljena.

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

10. Teh rezerviranih ključnih besed ne morete uporabljati tudi v strogem načinu.

implements interface let package private protected public static yield

Prednosti strogega načina

Uporaba strogega načina:

  • pomaga napisati čistejšo kodo
  • spremeni prej sprejete tihe napake (slaba sintaksa) v resnične napake in vrže sporočilo o napaki
  • olajša pisanje "varnega" JavaScript-a

Zanimive Članki...