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 myVariable
uporablja 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