Ebben az oktatóanyagban példák segítségével megismerheti a JavaScript szigorú szintaxisát.
'use strict';
kijelenti, hogy a JavaScript kódot „ szigorú módban ” kell végrehajtani . Ez megkönnyíti a jó és biztonságos JavaScript-kód írását. Például,
myVariable = 9;
Itt a myVariable deklarálás nélkül jön létre. Ez globális változóként működik a JavaScript-ben. Ha azonban ezt szigorú módban használja, a program hibát vet. Például,
'use strict'; // Error myVariable = 9;
A fenti kód hibát dob, mert a myVariable nincs deklarálva. Szigorú módban a változó nem használható deklarálás nélkül.
Annak jelzésére, hogy ez a program szigorú módban van, azt használtuk
'use strict';
a program tetején.
A szigorú módot deklarálhatja a program hozzáadásával 'use strict';
vagy "use strict";
annak elején.
Amikor a program elején deklarálja a szigorú módot, annak globális hatóköre lesz, és a program összes kódja szigorú módban fog végrehajtani.
Szigorú mód változóban
Szigorú módban egy változó használata deklarálás nélkül hibát okoz.
Megjegyzés : A program elején deklarálnia kell a szigorú módot . Ha valamilyen kód alatt szigorú módot hirdet, akkor az nem fog működni.
Például,
console.log("some code"); // 'use strict' is ignored // must be at the top "use strict"; x = 21; // does not throw an error
Szigorú üzemmód
Szigorú módot is használhat egy funkción belül. Például,
myVariable = 9; console.log(myVariable); // 9 function hello() ( // applicable only for this function 'use strict'; string = 'hello'; // throws an error ) hello();
Ha 'use strict';
funkciót használ , akkor a funkció belsejében lévő kód szigorú módban lesz.
A fenti programban 'use strict';
a hello()
függvényen belül használatos . Ezért a szigorú mód csak a funkción belül alkalmazható.
Mint látható, a program elején myVariable
deklarálás nélkül használják.
Ha 'use strict';
a program tetején nyilatkozik , akkor nem használhat változót anélkül, hogy azt a függvényen belül is deklarálná. Például,
// applicable to whole program 'use strict'; function hello() ( string = 'hello'; // throws an error ) hello();
Megjegyzés : A szigorú mód nem vonatkozik a ()
zárójeles blokk utasításokra .
Szigorú módban nem engedélyezett dolgok
1. A be nem jelentett változó nem megengedett.
'use strict'; a = 'hello'; // throws an error
2. Nem bejelentett objektumok nem engedélyezettek.
'use strict'; person = (name: 'Carla', age: 25); // throws an error
3. Az objektum törlése nem megengedett.
'use strict'; let person = (name: 'Carla'); delete person; // throws an error
4. A paraméter nevének másolása nem megengedett.
"use strict"; function hello(p1, p1) ( console.log('hello')); // throws an error hello();
5. Nem írható tulajdonsághoz való hozzárendelés nem megengedett.
'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. Csak getter-tulajdonhoz való hozzárendelés nem megengedett.
'use strict'; let obj2 = ( get x() ( return 17; ) ); // assignment to a getter-only property obj2.x = 5; // throws an error
7. Nem bővíthető objektumhoz új tulajdonsághoz rendelés nem engedélyezett.
'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. Az oktális szintaxis nem megengedett.
'use strict'; let a = 010; // throws an error
9. A változónév argumentumai és az eval nem megengedettek.
'use strict'; let arguments = 'hello'; // throws an error let eval = 44;
10. Nem használhatja ezeket a fenntartott kulcsszavakat szigorú módban sem.
implements
interface
let
package
private
protected
public
static
yield
A szigorú mód előnyei
Szigorú mód használata:
- segít egy tisztább kód megírásában
- a korábban elfogadott néma hibákat (rossz szintaxist) valódi hibákká változtatja és hibaüzenetet dob
- megkönnyíti a "biztonságos" JavaScript írását