In Vanilla JavaScript werden Variablen mit dem Schlüsselwort „var
“ deklariert. In ES6 können Sie jetzt auch Variablen mit den Schlüsselwörtern let
und const
definieren. Alle drei Schlüsselwörter haben eine ähnliche Syntax für die Variablendeklaration und -initialisierung, aber sie unterscheiden sich in ihrem Umfang und ihrer Verwendung. Lernen wir die Unterschiede zwischen diesen 3 Schlüsselwörtern kennen.
var-Schlüsselwort
‚var
‚ Schlüsselwort hat eine traditionelle Syntax für die Definition von Variablen. Optional können Sie die Variable mit einem Wert initialisieren. Wenn Sie Ihre Variable in der var
-Anweisung nicht initialisieren, wird ihr automatisch der JavaScript-Wert undefined
zugewiesen.
1) Anwendungsbereich
2) Hoisting von var-Deklarationen
Bitte beachten Sie, dass Variablen, die mit dem Schlüsselwort var
deklariert werden, dem Hoisting unterliegen. Hoisting bedeutet, dass, wenn wir eine Variable (deklariert, aber nicht initialisiert) am Ende einer Funktion deklarieren, die Laufzeit sie an die Spitze hebt und wir keinen Fehler haben, wenn wir diese Variable vor der Deklaration verwendet hätten.
Weiter lesen: JavaScript Hoisting
3) Wenn Sie das Schlüsselwort ‚var‘ nicht verwenden
Wenn Sie in JavaScript das Schlüsselwort var
nicht für die Variablendeklaration verwenden (implizite Deklaration), wird die Variable im globalen Bereich erstellt. z.B.
for(index=0; index< array.length; index++){//index is in global scope //code}
Die obige for-Schleife erstellt eine Variable namens index
im globalen Bereich. Wenn jemand anderes zufällig auch eine globale index
-Variable verwendet, dann haben Sie gerade seine Variable überschrieben.
Um zu vermeiden, dass die Variable einen globalen Gültigkeitsbereich erhält, müssen Sie das var
-Schlüsselwort in Ihrer Variablendeklaration verwenden.
let-Schlüsselwort
let
Schlüsselwort ist dem var
-Schlüsselwort sehr ähnlich – mit mehr Einschränkung im Gültigkeitsbereich.
const-Schlüsselwort
-
const
deklariert eine Variable mit konstantem Wert. Es ist im Grunde eine Variablendeklaration mit dem ‚var
‚-Schlüsselwort, bei der der Variablenwert konstant ist und nicht geändert werden kann. -
const
folgt den gleichen Scoping-Prinzipien wie daslet
-Schlüsselwort. - Wenn Sie wissen, dass die Variable, die Sie deklarieren, nicht neu zugewiesen werden kann und soll, dann deklarieren Sie sie mit const, ansonsten verwenden Sie das let-Schlüsselwort.
Syntax und Verwendung
const PI = "3.14";PI = 12;//Uncaught TypeError: Assignment to constant variable.