U ovom ćete tutorijalu uz primjere naučiti o sintaksi JavaScript-a "koristi strogu".
'use strict';
navodi da bi se JavaScript kôd trebao izvršavati u ' strogom načinu '. To olakšava pisanje dobrog i sigurnog JavaScript koda. Na primjer,
myVariable = 9;
Ovdje se myVariable stvara bez deklariranja. To djeluje kao globalna varijabla u JavaScript-u. Međutim, ako ovo upotrebljavate u strogom načinu, program će izbaciti pogrešku. Na primjer,
'use strict'; // Error myVariable = 9;
Gornji kôd baca pogrešku jer myVariable nije deklariran. U strogom načinu rada ne možete koristiti varijablu bez deklariranja.
Kako bismo naznačili da je ovaj program u strogom načinu, koristili smo
'use strict';
na vrhu programa.
Strogi način rada možete proglasiti dodavanjem 'use strict';
ili "use strict";
na početku programa.
Kada na početku programa proglasite strogi način, on će imati globalni opseg i sav će se kod u programu izvršavati u strogom načinu.
Strogi način rada s varijablom
U strogom načinu rada, upotreba varijable bez deklariranja dovodi do pogreške.
Napomena : Na početku programa morate proglasiti strogi način rada . Ako proglasite strogi način rada ispod nekog koda, to neće raditi.
Na primjer,
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 rada
Također možete koristiti strogi način rada unutar funkcije. Na primjer,
myVariable = 9; console.log(myVariable); // 9 function hello() ( // applicable only for this function 'use strict'; string = 'hello'; // throws an error ) hello();
Ako koristite 'use strict';
unutar funkcije, kôd unutar funkcije bit će u strogom načinu.
U gore navedenom programu 'use strict';
koristi se unutar hello()
funkcije. Stoga je strogi način rada primjenjiv samo unutar funkcije.
Kao što vidite, na početku programa myVariable
koristi se bez izjave.
Ako deklarirate 'use strict';
na vrhu programa, ne možete koristiti varijablu, a da je također ne prijavite unutar funkcije. Na primjer,
// applicable to whole program 'use strict'; function hello() ( string = 'hello'; // throws an error ) hello();
Napomena : Strogi način rada ne odnosi se na blokade iskaza sa ()
zagradama.
Stvari koje nisu dopuštene u strogom načinu
1. Neprijavljena varijabla nije dopuštena.
'use strict'; a = 'hello'; // throws an error
2. Neprijavljeni objekti nisu dopušteni.
'use strict'; person = (name: 'Carla', age: 25); // throws an error
3. Brisanje objekta nije dopušteno.
'use strict'; let person = (name: 'Carla'); delete person; // throws an error
4. Dupliciranje imena parametra nije dopušteno.
"use strict"; function hello(p1, p1) ( console.log('hello')); // throws an error hello();
5. Dodjela svojstvu na koje se ne može pisati nije dopušteno.
'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. Dodjela svojstvu samo za dobivanje nije dopušteno.
'use strict'; let obj2 = ( get x() ( return 17; ) ); // assignment to a getter-only property obj2.x = 5; // throws an error
7. Dodjela novog svojstva na neproširivom objektu nije dopuštena.
'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. Oktalna sintaksa nije dopuštena.
'use strict'; let a = 010; // throws an error
9. Argumenti imena varijable i eval nisu dopušteni.
'use strict'; let arguments = 'hello'; // throws an error let eval = 44;
10. Ove rezervirane ključne riječi također ne možete koristiti u strogom načinu.
implements
interface
let
package
private
protected
public
static
yield
Prednosti strogog načina rada
Korištenje strogog načina:
- pomaže u pisanju čistijeg koda
- mijenja prethodno prihvaćene tihe pogreške (loša sintaksa) u stvarne pogreške i baca poruku o pogrešci
- olakšava pisanje "sigurnog" JavaScript-a