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
-
const
declareert 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. -
const
volgt dezelfde scoping principes als hetlet
sleutelwoord. - 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.