JavaScript "use strict"

In deze tutorial leer je met behulp van voorbeelden over de JavaScript-syntaxis 'use strict'.

'use strict';stelt dat de JavaScript-code moet worden uitgevoerd in ' strikte modus '. Dit maakt het gemakkelijker om goede en veilige JavaScript-code te schrijven. Bijvoorbeeld,

 myVariable = 9;

Hier wordt myVariable gemaakt zonder te declareren. Dit werkt als een globale variabele in JavaScript. Als u dit echter in de strikte modus gebruikt, zal het programma een fout genereren. Bijvoorbeeld,

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

De bovenstaande code genereert een fout omdat myVariable niet is gedeclareerd. In strikte modus kunt u de variabele niet gebruiken zonder ze te declareren.

Om aan te geven dat dit programma zich in de strikte modus bevindt, hebben we gebruikt

 'use strict';

bovenaan het programma.

U kunt de strikte modus aangeven door een programma toe te voegen 'use strict';of "use strict";aan het begin ervan.

Als je aan het begin van een programma de strikte modus aangeeft, heeft het een globaal bereik en wordt alle code in het programma in de strikte modus uitgevoerd.

Strikte modus in variabele

In strikte modus genereert het gebruik van een variabele zonder deze te declareren een fout.

Opmerking : u moet aan het begin van het programma de strikte modus aangeven . Als u een strikte modus aangeeft onder een bepaalde code, zal het niet werken.

Bijvoorbeeld,

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

Strikte modus in functie

U kunt ook de strikte modus binnen een functie gebruiken. Bijvoorbeeld,

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

Als u 'use strict';binnen een functie gebruikt, bevindt de code in de functie zich in de strikte modus.

In het bovenstaande programma 'use strict';wordt binnen de hello()functie gebruikt. Daarom is de strikte modus alleen van toepassing binnen de functie.

Zoals u kunt zien, wordt in het begin van het programma myVariablegebruikt zonder te declareren.

Als u 'use strict';bovenaan het programma declareert , kunt u geen variabele gebruiken zonder deze ook binnen de functie te declareren. Bijvoorbeeld,

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

Opmerking : de strikte modus is niet van toepassing op blokinstructies met ()accolades.

Dingen die niet zijn toegestaan ​​in de strikte modus

1. Niet-gedeclareerde variabele is niet toegestaan.

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

2. Niet-aangegeven objecten zijn niet toegestaan.

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

3. Het verwijderen van een object is niet toegestaan.

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

4. Het dupliceren van een parameternaam is niet toegestaan.

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

5. Toewijzing aan een niet-beschrijfbare eigenschap is niet toegestaan.

 '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. Toewijzing aan een alleen-getter-eigenschap is niet toegestaan.

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

7. Het toewijzen aan een nieuwe eigenschap op een niet-uitbreidbaar object is niet toegestaan.

 '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. Octale syntaxis is niet toegestaan.

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

9. De variabelenaamargumenten en eval zijn niet toegestaan.

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

10. U kunt deze gereserveerde trefwoorden ook niet in strikte modus gebruiken.

implements interface let package private protected public static yield

Voordelen van de strikte modus

Het gebruik van de strikte modus:

  • helpt bij het schrijven van een schonere code
  • verandert eerder geaccepteerde stille fouten (slechte syntaxis) in echte fouten en genereert een foutmelding
  • maakt het gemakkelijker om "veilig" JavaScript te schrijven

Interessante artikelen...