JavaScript "käytä tiukkaa"

Tässä opetusohjelmassa opit JavaScriptin "käytä tiukkaa" syntaksia esimerkkien avulla.

'use strict';toteaa, että JavaScript-koodi tulisi suorittaa tiukassa tilassa . Tämä helpottaa hyvän ja turvallisen JavaScript-koodin kirjoittamista. Esimerkiksi,

 myVariable = 9;

Täällä myVariable luodaan ilmoittamatta. Tämä toimii JavaScriptin globaalina muuttujana. Jos kuitenkin käytät tätä tiukassa tilassa, ohjelma heittää virheen. Esimerkiksi,

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

Yllä oleva koodi heittää virheen, koska myVariable-arvoa ei ilmoiteta. Tiukassa tilassa et voi käyttää muuttujaa ilmoittamatta niitä.

Olemme osoittaneet, että tämä ohjelma on tiukassa tilassa

 'use strict';

ohjelman yläosassa.

Voit julistaa tiukka tilassa lisäämällä 'use strict';tai "use strict";alussa ohjelman.

Kun ilmoitat tiukan tilan ohjelman alussa, sillä on globaali laajuus ja kaikki ohjelman koodit suoritetaan tiukassa tilassa.

Tiukka tila muuttujana

Tiukassa tilassa muuttujan käyttö ilmoittamatta sitä heittää virheen.

Huomaa : Sinun on ilmoitettava tiukka tila ohjelman alussa . Jos ilmoitat tiukan tilan jonkin koodin alapuolelle, se ei toimi.

Esimerkiksi,

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

Tiukka tila toiminnassa

Voit myös käyttää tiukkaa tilaa toiminnon sisällä. Esimerkiksi,

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

Jos käytät 'use strict';toiminnon sisällä, toiminnon sisällä oleva koodi on tiukassa tilassa.

Yllä olevassa ohjelmassa 'use strict';käytetään hello()toiminnon sisällä . Siksi tiukka tila on käytettävissä vain toiminnon sisällä.

Kuten näette, ohjelman alussa myVariablesitä käytetään ilmoittamatta.

Jos ilmoitat 'use strict';ohjelman yläosassa, et voi käyttää muuttujaa ilmoittamatta sitä myös toiminnon sisällä. Esimerkiksi,

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

Huomaa : Tiukka tila ei koske ()aaltosulkuisia lauseita .

Asiat, joita ei sallita tiukassa tilassa

1. Pimeää muuttujaa ei sallita.

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

2. Pimeät objektit eivät ole sallittuja.

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

3. Objektin poistaminen ei ole sallittua.

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

4. Parametrin nimen kopioiminen ei ole sallittua.

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

5. Määrittäminen ei-kirjoitettavaan omaisuuteen ei ole sallittua.

 '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. Omistaminen vain getter-ominaisuudelle ei ole sallittua.

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

7. Uuteen omaisuuteen määrittäminen ei-laajennettavissa olevassa objektissa ei ole sallittua.

 '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. Oktaalisyntaksi ei ole sallittu.

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

9. Muuttujan nimen argumentit ja eval eivät ole sallittuja.

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

10. Et voi käyttää näitä varattuja avainsanoja myös tiukassa tilassa.

implements interface let package private protected public static yield

Tiukan tilan edut

Tiukan tilan käyttö:

  • auttaa kirjoittamaan puhtaamman koodin
  • muuttaa aiemmin hyväksytyt hiljaiset virheet (virheellinen syntaksin) todellisiksi virheiksi ja heittää virheilmoituksen
  • helpottaa "suojatun" JavaScriptin kirjoittamista

Mielenkiintoisia artikkeleita...