I Vanilla JavaScript deklareras variabler med nyckelordet var
. I ES6 kan du nu definiera variabler med hjälp av nyckelorden let
och const
också. Alla tre nyckelorden har samma syntax för variabeldeklaration och initialisering, men de skiljer sig åt i fråga om räckvidd och användning. Låt oss lära oss skillnaderna mellan dessa tre nyckelord.
var nyckelord
’var
’ nyckelordet har traditionell syntax för variabeldefinition. Eventuellt kan du initialisera variabeln med ett värde. Om du inte initialiserar din variabel i var
-angivelsen tilldelas den automatiskt JavaScript-värdet undefined
.
1) Omfattning
2) Hoisting av var-deklarationer
Vänligen observera att variabler som deklareras med var
-angivelsen är föremål för hoisting. Hoisting innebär att om vi deklarerar en variabel (deklarerad men inte initialiserad) i slutet av en funktion, kommer körtiden att lyfta upp den till toppen och vi kommer inte att få något fel om vi skulle ha använt variabeln innan den deklarerades.
Läs mer:
3) Om du inte använder nyckelordet var
I JavaScript, om du inte använder nyckelordet var
för variabeldeklaration (implicit deklaration) kommer variabeln att skapas i den globala räckvidden. t.ex.
for(index=0; index< array.length; index++){//index is in global scope //code}
Ovanförvarande for-slinga kommer att skapa en variabel som heter index
i den globala räckvidden. Om någon annan också råkar använda en global index
-variabel har du precis skrivit över deras variabel.
För att undvika att ge variabeln global räckvidd måste du använda nyckelordet var
i din variabeldeklaration.
let nyckelordet
let
nyckelordet liknar i hög grad var
nyckelordet – med mer begränsning i räckvidd.
const nyckelordet
-
const
deklarerar en variabel med blockräckvidd med ett konstant värde. Det är i princip en variabeldeklaration med nyckelordetvar
där variabelns värde är konstant och inte kan ändras. -
const
följer samma principer för scoping som nyckelordetlet
. - Om du vet att variabeln du deklarerar inte kan och inte bör tillåtas att omfördela den, deklarera den då med const, annars använd nyckelordet let.
Syntax och användning
const PI = "3.14";PI = 12;//Uncaught TypeError: Assignment to constant variable.