Laten we eens kijken naar de verschillende scenario’s, waarbij deze eenvoudige wijziging u kan helpen.

Een variabele wordt niet toegevoegd aan het globale/vensterobject als deze niet is gedeclareerd.

Als een niet-aangegeven variabele is gedefinieerd, wordt deze standaard toegevoegd aan het globale/vensterobject. Dit kan een fout veroorzaken en kan zelfs moeilijk te vinden zijn.

Onaangegeven variabele wordt toegevoegd aan globaal object

Om dergelijke scenario’s te vermijden, kunnen we “use strict” verklaren. Strict mode staat niet toe dat variabelen worden gebruikt die niet zijn gedeclareerd.

Niet-declareerde variabelen worden niet aan het globale object toegevoegd

Je kunt geen variabelen declareren die in de toekomst als reservewoorden kunnen worden gebruikt.

Reserve Word Exception

Zoals we in bovenstaand voorbeeld kunnen zien, konden we aan de linkerkant een variabele declareren en deze let noemen, wat een ES6 gereserveerd sleutelwoord is. Technisch gezien zou dit een exceptie moeten opleveren, maar de compiler negeert dit.

Ook kunnen we aan de rechterkant zien dat we een syntaxisfout hebben gekregen door over te schakelen op een strikte bewerkingscontext. We moeten kiezen voor een strikte modus, om te voorkomen dat we een gereserveerd sleutelwoord gebruiken voor variabelenamen.

Het voorkomt dat men functies, variabelen en functieargumenten verwijdert:

De delete operator op zich wordt gebruikt om een eigenschap op een object te verwijderen.

Eigenschap verwijderen geldige syntax

De operator verwijderen kan niet worden gebruikt om een functie te verwijderen, variabele of argumenten.

delete kan alleen eigenschappen verwijderen

In de strikte modus wordt er een Type Error-uitzondering weergegeven. Dit gebeurt omdat we proberen een eigenschap te verwijderen, maar niet de waarde zelf.

Type Error Exception

Het gebruik van eval wordt beperkt:

In JS wordt de eval-functie gebruikt om JavaScript-expressies in een tekenreeksformaat uit te voeren.

gebruik makend van eval

Laten we eens proberen om dezelfde code in strikte modus te implementeren:

de eval expressie wordt niet uitgevoerd

Geef een reactie

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