JavaScript Let-Schlüsselwort
Das Schlüsselwort let wurde in ES6 (2015) eingeführt.
Mit let definierte Variablen können nicht erneut deklariert werden.
Mit let definierte Variablen müssen vor der Verwendung deklariert werden.
Variablen, die mit let definiert wurden, haben einen Blockbereich.
Kann nicht erneut deklariert werden
Variablen, die mit let definiert wurden, können nicht neu deklariert werden.
Sie können eine Variable nicht versehentlich neu deklarieren.
Mit let können Sie Folgendes nicht tun:
Beispiel
let x = "John Doe";
let x = 0;
// SyntaxError: 'x' has already been declared
Mit var können Sie:
Beispiel
var x = "John Doe";
var x = 0;
Blockbereich
Vor ES6 (2015) hatte JavaScript nur Global Scope und Function Scope.
ES6 führte zwei wichtige neue JavaScript-Schlüsselwörter ein: let und const.
Diese beiden Schlüsselwörter stellen den Blockbereich in JavaScript bereit.
Variablen, die innerhalb eines { }-Blocks deklariert wurden, können nicht von außerhalb des Blocks aufgerufen werden:
Beispiel
{
let x = 2;
}
// x kann hier NICHT verwendet werden
Variablen, die mit dem Schlüsselwort var deklariert wurden, dürfen KEINEN Blockbereich haben.
Auf Variablen, die innerhalb eines { }-Blocks deklariert sind, kann von außerhalb des Blocks zugegriffen werden.
Beispiel
{
var x = 2;
}
// x KANN hier verwendet werden
Variablen neu deklarieren
Das Neudeklarieren einer Variablen mit dem Schlüsselwort var kann zu Problemen führen.
Durch die Neudeklaration einer Variablen innerhalb eines Blocks wird auch die Variable außerhalb des Blocks neu deklariert:
Das Neudeklarieren einer Variablen mit dem Schlüsselwort let kann dieses Problem lösen.
Durch die Neudeklaration einer Variablen innerhalb eines Blocks wird die Variable außerhalb des Blocks nicht neu deklariert:
Browser-Unterstützung
Das Schlüsselwort let wird in Internet Explorer 11 oder früher nicht vollständig unterstützt.
Die folgende Tabelle definiert die ersten Browserversionen mit vollständiger Unterstützung für das Schlüsselwort let:
| Chrome 49 | Edge 12 | Firefox 44 | Safari 11 | Opera 36 |
| Mar, 2016 | Jul, 2015 | Jan, 2015 | Sep, 2017 | Mar, 2016 |
Neudeklaration
Das erneute Deklarieren einer JavaScript-Variablen mit var ist überall in einem Programm zulässig:
Mit let ist die erneute Deklaration einer Variablen im selben Block NICHT zulässig:
Beispiel
var x = 2; // Erlaubt
let x = 3; // Nicht erlaubt
{
let x = 2; // Erlaubt
let x = 3 // Nicht erlaubt
}
{
let x = 2; // Erlaubt
var x = 3 // Nicht erlaubt
}
Das erneute Deklarieren einer Variablen mit let in einem anderen Block ist zulässig:
Heben lassen
Mit var definierte Variablen werden nach oben angehoben und können jederzeit initialisiert werden.
Bedeutung: Sie können die Variable verwenden, bevor sie deklariert wird:
Wenn Sie mehr über das Heben erfahren möchten, lesen Sie das Kapitel JavaScript Hoisting.
Variablen, die mit let definiert wurden, werden ebenfalls an die Spitze des Blocks gehoben, aber nicht initialisiert.
Bedeutung: Die Verwendung einer let-Variable vor ihrer Deklaration führt zu einem ReferenceError:
