Unterschied: 1. Der Gültigkeitsbereich der let-Variablen liegt im Code auf Blockebene, in dem sie definiert ist, während der Gültigkeitsbereich der var-Variablen im Funktionsbereich liegt, der sie enthält. 2. Die Let-Variable kann nicht wiederholt deklariert werden, sondern die Variable var kann wiederholt werden. Anweisung; 3. Durch das Scannen vor der Codeausführung wird die Variable var auf undefiniert initialisiert, während die Variable let nicht initialisiert wird.
Die Betriebsumgebung dieses Tutorials: Windows 10-System, ECMAScript Version 6.0, Dell G3-Computer.
let ist ein neu eingeführtes Schlüsselwort in ES6, um verschiedene durch var verursachte Probleme zu beheben.
Im Vergleich zu var gibt es ungefähr die folgenden Unterschiede zwischen let und var:
1. Gültigkeitsbereich
Für durch let definierte Variablen ist der Gültigkeitsbereich der Code auf Blockebene, in dem sie definiert ist, und die untergeordneten Elemente enthalten, und Variablen können nicht im globalen Bereich hinzugefügt werden.
Der Geltungsbereich einer durch var definierten Variablen ist der Funktionsumfang oder globale Geltungsbereich, der sie einschließt.
2. Wiederholte Deklaration
Variablen, die durch let definiert werden, können nicht wiederholt im selben Bereich deklariert werden.
Variablen, die durch var definiert werden, werden beim Generieren des Ausführungskontexts wiederholt deklariert, nachfolgende Deklarationen werden ignoriert.
3. Probleme wie Heraufstufung durch vorübergehende Totzone
Wir wissen, dass vor der Ausführung des Codes zuerst die von var in allen Feldern deklarierten Variablen gescannt und auf undefiniert initialisiert werden, und dann wird der Code ausgeführt ausgeführt werden. Es handelt sich um das sogenannte „Aufstiegsphänomen“.
Aber bei mit let deklarierten Variablen ist das anders. Der Scan vor der Codeausführung „erhöht“ auch die let-Variable, setzt sie jedoch nicht auf undefiniert. Obwohl die durch let definierte Variable hochgestuft wurde, wurde die Variable nicht initialisiert, bevor der Code, der sie initialisiert, ausgeführt wird. Wenn zu diesem Zeitpunkt darauf zugegriffen wird, wird ein ReferenceError gesetzt. Vom Beginn des Codeblocks über die Ausführung bis zum Abschluss der Initialisierung der let-Variablen wurde die let-Variable deklariert, ist aber nicht zugänglich. Dieser Zeitraum wird als temporäre Totzone bezeichnet.
【Verwandte Empfehlungen: Javascript-Video-Tutorial, Web-Frontend】
Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen let und var in es6?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!