Articles

JavaScript “use strict”

'use strict'; geeft aan dat de JavaScript-code in “strict mode” moet worden uitgevoerd. Dit maakt het eenvoudiger om goede en veilige JavaScript-code te schrijven. Bijvoorbeeld,

myVariable = 9;

Hier wordt myVariable aangemaakt zonder te declareren. Dit werkt als een globale variabele in JavaScript. Als je dit echter in strict mode gebruikt, zal het programma een foutmelding geven. Bijvoorbeeld,

'use strict';// ErrormyVariable = 9;

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

Om aan te geven dat dit programma in de strikte modus staat, hebben we

'use strict';

aan het begin van het programma gebruikt.

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

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

Strikte modus in variabelen

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

Note: u moet de strikte modus aan het begin van het programma declareren. Als je de strikte modus declareert onder bepaalde code, zal het niet werken.

Voorbeeld,

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

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

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

Als je 'use strict'; binnen een functie gebruikt, zal de code binnen de functie in strict mode staan.

In het bovenstaande programma is 'use strict'; gebruikt binnen de functie. De strikte modus is dus alleen van toepassing binnen de functie.

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

Als u 'use strict'; boven in 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();

Note : Strict mode is niet van toepassing op blok statements met {} accolades.

Dingen die niet zijn toegestaan in Strict Mode

1. Undeclared variable is niet toegestaan.

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

2. Undeclared objects 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 errorhello();

5. Toewijzen aan een niet-herschrijfbare eigenschap is niet toegestaan.

'use strict';let obj1 = {};Object.defineProperty(obj1, 'x', { value: 42, writable: false });// assignment to a non-writable propertyobj1.x = 9; // throws an error

6. Toewijzen aan een getter-only eigenschap is niet toegestaan.

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

7. 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 objectobj.newValue = 'new value'; // throws an error

8. Octale syntax is niet toegestaan.

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

9. De variabele naam argumenten en eval zijn niet toegestaan.

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

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

implementsinterfaceletpackageprivateprotectedpublicstaticyield

Voordelen van Strict Mode

Het gebruik van de strict mode:

  • helpt om een schonere code te schrijven
  • verandert eerder geaccepteerde stille fouten (slechte syntaxis) in echte fouten en geeft een foutmelding
  • maakt het makkelijker om “veilig” JavaScript te schrijven

Laat een antwoord achter

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *