Heim >Web-Frontend >js-Tutorial >Wie funktioniert das Hochziehen für „let' und „const' anders als für „var' in JavaScript?
Hoisting von Variablen, die mit Let und Const deklariert wurden
Hoisting ist ein JavaScript-Mechanismus, der Deklarationen zu Beginn an den Anfang ihres Gültigkeitsbereichs verschiebt die Ausführung des Programms. Im Gegensatz zu var-Deklarationen unterscheidet sich das Heben von let und const jedoch hinsichtlich der Variableninitialisierung.
Heben von Deklarationen
Alle Deklarationen in JavaScript werden gehisst, einschließlich derjenigen, die var verwenden. let, const, function, function* und class. Dies bedeutet, dass sich der Bezeichner innerhalb eines Bereichs immer auf die deklarierte Variable bezieht.
Heben vs. Initialisierung
Der Unterschied zwischen var/function/function*-Deklarationen und let /const/class-Deklarationen liegen in ihrer Initialisierung. var/function/function*-Deklarationen werden bei der Bindungserstellung am Anfang des Bereichs mit undefiniert oder dem Funktionskörper initialisiert. Allerdings bleiben lexikalisch deklarierte Variablen (let/const/class) nicht initialisiert.
Temporale Totzone für Let und Const
Der nicht initialisierte Zustand lexikalisch deklarierter Variablen erzeugt ein „ „Temporal Dead Zone“, bei der der Zugriff vor der Initialisierung zu einem ReferenceError führt. Die zeitliche Totzone besteht von der Erstellung der Variablen bis zur Ausführung der let/const/class-Anweisung.
Ähnlichkeiten zwischen Let und Const
Sowohl let als auch const weisen identische Hebungen auf Verhalten. Der einzige wesentliche Unterschied besteht darin, dass Konstanten nur in ihrer Deklaration zugewiesen werden dürfen (const one = 1;), wohingegen let eine Neuzuweisung zulässt.
Schlussfolgerung
Während dies bei allen Deklarationen der Fall ist In JavaScript hochgezogen, bleiben let- und const-Variablen nicht initialisiert, bis ihre Deklarationsanweisung ausgewertet wird, wodurch eine zeitliche Totzone entsteht. Diese Unterscheidung ist wichtig, um Referenzen auf nicht initialisierte Variablen zu vermeiden und das beabsichtigte Verhalten Ihres Codes sicherzustellen.
Das obige ist der detaillierte Inhalt vonWie funktioniert das Hochziehen für „let' und „const' anders als für „var' in JavaScript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!