In vanilla JavaScript worden variabelen gedeclareerd met het sleutelwoord ‘var‘. In ES6 kun je variabelen nu ook definiëren met let en const trefwoorden. Alle drie de sleutelwoorden hebben een vergelijkbare syntaxis voor het declareren en initialiseren van variabelen, maar ze verschillen in hun bereik en gebruik. Laten we de verschillen tussen deze 3 sleutelwoorden leren.
var sleutelwoord
‘var‘ sleutelwoord heeft traditionele variabele definitie syntaxis. Optioneel kunt u de variabele initialiseren met een waarde. Als u uw variabele niet initialiseert in het var statement, krijgt deze automatisch de JavaScript-waarde undefined.
1) Scope
2) Hoisting van var declaraties
Let erop dat variabelen die worden gedeclareerd met het var keyword onderhevig zijn aan hoisting. Hoisting betekent dat als we een variabele declareren (gedeclareerd maar niet geïnitialiseerd) aan het einde van een functie, de runtime deze naar boven zal hijsen en we geen fout zullen krijgen als we die variabele zouden hebben gebruikt voordat hij werd gedeclareerd.
Lees meer: JavaScript Hoisting
3) Als u het trefwoord ‘var’ niet gebruikt
In JavaScript wordt, als u het trefwoord var niet gebruikt voor het declareren van variabelen (impliciete declaratie), een variabele aangemaakt in het globale bereik. bijv.
for(index=0; index< array.length; index++){//index is in global scope //code}
De bovenstaande for-lus maakt een variabele aan met de naam index in het globale bereik. Als iemand anders toevallig ook een globale index variabele gebruikt, dan heb je zojuist hun variabele overschreven.
Om te voorkomen dat de variabele een globaal bereik krijgt, moet u het var trefwoord gebruiken in uw variabele declaratie.
let trefwoord
let trefwoord lijkt veel op var trefwoord – met meer beperking in scoping.
const trefwoord
-
constdeclareert een blok-scoped variabele met een constante waarde. Het is in feite variabele declaratie met ‘var‘ sleutelwoord waarbij variabele waarde constant is en niet kan worden veranderd. -
constvolgt dezelfde scoping principes als hetletsleutelwoord. - als u weet dat de variabele die u declareert niet opnieuw kan en mag worden toegewezen, declareer deze dan met const, gebruik anders het let sleutelwoord.
Syntax en gebruik
const PI = "3.14";PI = 12;//Uncaught TypeError: Assignment to constant variable.