JavaScript "kasuta rangelt"

Selles õpetuses saate näidete abil õppida JavaScripti "kasutage ranget" süntaksit.

'use strict';ütleb, et JavaScripti kood tuleks käivitada ranges režiimis . See hõlbustab hea ja turvalise JavaScripti koodi kirjutamist. Näiteks,

 myVariable = 9;

Siin luuakse myVariable ilma deklareerimata. See töötab JavaScripti globaalse muutujana. Kui kasutate seda ranges režiimis, viskab programm vea. Näiteks,

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

Ülaltoodud kood loob vea, kuna myVariable'i ei deklareerita. Ranges režiimis ei saa muutujat deklareerimata kasutada.

Oleme näidanud, et see programm on ranges režiimis

 'use strict';

programmi ülaosas.

Range režiimi saate kuulutada programmi lisamisel 'use strict';või "use strict";selle alguses.

Kui kuulutate programmi alguses range režiimi, on see globaalse ulatusega ja kogu programmi kood käivitatakse ranges režiimis.

Range režiim muutuvas

Ranges režiimis põhjustab muutuja kasutamine seda deklareerimata vea.

Märkus . Programmi alguses peate kuulutama range režiimi . Kui kuulutate mõne koodi all rangeks režiimiks, ei tööta see.

Näiteks,

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

Funktsioonis range režiim

Funktsiooni sees saate kasutada ka ranget režiimi. Näiteks,

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

Kui kasutate 'use strict';funktsiooni sees, on funktsiooni sees olev kood ranges režiimis.

Ülaltoodud programmis 'use strict';kasutatakse hello()funktsiooni sees . Seega on range režiim rakendatav ainult funktsiooni sees.

Nagu näete, kasutatakse programmi alguses myVariableilma deklareerimata.

Kui deklareerite 'use strict';programmi ülaosas, ei saa muutujat kasutada ilma seda ka funktsiooni sees deklareerimata. Näiteks,

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

Märkus : range režiim ei kehti ()sulgudega lauselausete kohta.

Asjad, mis pole ranges režiimis lubatud

1. Deklareerimata muutuja pole lubatud.

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

2. Deklareerimata objektid pole lubatud.

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

3. Objekti kustutamine pole lubatud.

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

4. Parameetri nime paljundamine pole lubatud.

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

5. Mittekirjutatavale varale määramine pole lubatud.

 '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. Ainult getteri omandisse määramine pole lubatud.

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

7. Laiendamata objektil uue atribuudi määramine pole lubatud.

 '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. Oktaalsüntaks pole lubatud.

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

9. Muutuja nime argumendid ja eval pole lubatud.

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

10. Te ei saa neid reserveeritud märksõnu kasutada ka ranges režiimis.

implements interface let package private protected public static yield

Range režiimi eelised

Range režiimi kasutamine:

  • aitab kirjutada puhtamat koodi
  • muudab varem vastuvõetud vaikivad vead (halb süntaks) tegelikeks vigadeks ja viskab tõrketeate
  • muudab "turvalise" JavaScripti kirjutamise lihtsamaks

Huvitavad Artiklid...