Detaillierte Erklärung des Unterschieds zwischen var, let und const in JavaScript

Detaillierte Erklärung des Unterschieds zwischen var, let und const in JavaScript

Bei den Methoden zum Deklarieren von Variablen in JavaScript handelt es sich um var , let und const . let und const sind neue Befehle, die in es6 hinzugefügt wurden. Was ist also der Unterschied zwischen ihnen?

Lassen Sie uns zunächst über die Unterschiede zwischen den drei insgesamt sprechen. Bevor wir sie im Detail vorstellen, werden die Unterschiede zwischen var, let und const hauptsächlich anhand der folgenden Punkte analysiert:

  • Unterschiede bei der Verwendung als globale Variablen
  • Variables Heben
  • Temporäre tote Zone
  • Blockbereich
  • Doppelte Anweisung
  • Ändern deklarierter Variablen

Als globale Variable

In ES5 entsprechen die Eigenschaften von Objekten der obersten Ebene globalen Variablen. Mit var deklarierte Variablen sind sowohl globale Variablen als auch Eigenschaften von Variablen der obersten Ebene.

Allerdings sind mit let deklarierte Variablen in ES6 global zugänglich, jedoch nicht als Eigenschaften von Variablen der obersten Ebene, und mit const deklarierte Konstanten sind auf Variablen der obersten Ebene ebenfalls nicht verfügbar.

Bitte fügen Sie eine Beschreibung des Bildes hinzu

Variables Heben

Mit var deklarierte Variablen werden hochgestuft, und die Variable kann vor der Deklaration aufgerufen werden, und der Wert ist undefiniert

let und const gibt es keine Variablenförderung, d. h. die von ihnen deklarierten Variablen müssen nach der Deklaration verwendet werden, andernfalls wird ein Fehler gemeldet

 console.log(a) // undefiniertvar a = 1console.log(b) // Auf „b“ kann vor der Initialisierung nicht zugegriffen werdenlet b = 2console.log(c) // Auf „c“ kann vor der Initialisierung nicht zugegriffen werdenconst c = 3console.log(a) // undefiniert
var a = 1

console.log(b) // Auf „b“ kann vor der Initialisierung nicht zugegriffen werden
sei b = 2

console.log(c) // Auf „c“ kann vor der Initialisierung nicht zugegriffen werden
Konstante c = 3

Temporäre tote Zone

Es gibt keine temporäre tote Zone var

let und const gibt es eine temporäre Totzone. Die Variable kann erst abgerufen und verwendet werden, nachdem die Codezeile, die die Variable deklariert, ausgeführt wurde.

Tatsächlich handelt es sich hierbei um den Unterschied, der sich aus der vorherigen variablen Verbesserung ergibt. Da mit var deklarierte Variablen heraufgestuft werden, wird kein Fehler gemeldet, wenn der Variablenwert vor der Deklaration undefined ist, sodass keine vorübergehende Totzone entsteht. let oder const vor oder nach dem Beginn des Gültigkeitsbereichs und vor der Deklaration der Variable oder Konstante verwendet wird, wird ein Fehler gemeldet. Dieser Bereich wird auch als temporäre tote Zone bezeichnet.

Wie oben:

 console.log(a) // undefiniert
var a = 1

console.log(b) // Auf „b“ kann vor der Initialisierung nicht zugegriffen werden
sei b = 2

console.log(c) // Auf „c“ kann vor der Initialisierung nicht zugegriffen werden
Konstante c = 3

Blockbereich

var existiert nicht im Blockbereich

let und const haben Blockgültigkeitsumfang

 { var a = 2}console.log(a) // 2{ let b = 2}console.log(b) // Nicht erfasster Referenzfehler: b ist nicht definiert{ const c = 2}console.log(c) // Nicht erfasster Referenzfehler: c ist nicht definiert

Doppelte Anweisung

var kann im selben Bereich wiederholt deklariert werden, und die später deklarierte Variable überschreibt die vorherige Variablendeklaration

let und const können nicht wiederholt im selben Gültigkeitsbereich deklariert werden

 var a = 10
var a = 20 // 20

sei b = 10
let b = 20 // Bezeichner 'b' wurde bereits deklariert

Konstante c = 10
const c = 20 // Bezeichner 'c' wurde bereits deklariert

Deklarierte Variablen ändern (Konstanten und Variablendeklarationen)

var und let deklarieren Variablen, und die deklarierten Variablen können geändert werden

const deklariert eine schreibgeschützte Konstante. Sobald der Wert einer Konstanten deklariert ist, kann er nicht mehr geändert werden. Es ist jedoch zu beachten, dass bei Referenzdatentypen Variablen oder Konstanten in JavaScript die Speicheradresse der Daten speichern. Solange die Referenz der Konstanten nicht direkt geändert wird, ist es möglich, die Eigenschaften des Objekts zu ändern, auf das sie verweist.

 var a = 10
ein = 20
console.log(a) // 20

sei b = 10
b = 20
console.log(b) // 20

Konstante c = 10
c = 20 // Nicht abgefangener TypeError: Zuweisung zu konstanter Variable

Zusammenfassen

Dieser Artikel endet hier. Ich hoffe, er kann Ihnen helfen. Ich hoffe auch, dass Sie mehr Inhalt auf 123WORDPRESS.COM lesen können!

Das könnte Sie auch interessieren:
  • Was sind die Unterschiede zwischen var let const in JavaScript
  • Detaillierte Erklärung der Unterschiede zwischen var, let und const in JavaScript es6
  • Detaillierte Erklärung der Unterschiede und Verwendung von var in JavaScript und let und const in ES6-Spezifikationen
  • Verstehen Sie den Unterschied zwischen den Schlüsselwörtern let, var und const in JavaScript
  • Der Unterschied zwischen let, const und var in der JavaScript ES6-Syntax

<<:  Optimierung der Frontend-Leistung von Websites: JavaScript und CSS

>>:  So legen Sie MySQL-Fremdschlüssel für Anfänger fest

Artikel empfehlen

Detaillierte Verwendung von Echarts in vue2 vue3

Inhaltsverzeichnis 1. Installation 2. Verwenden S...

Der Unterschied zwischen Docker Run und Start

Der Unterschied zwischen Ausführen und Starten in...

Teilen Sie JS vier lustige Hacker-Hintergrundeffektcodes

Inhaltsverzeichnis Beispiel 1 Beispiel 2 Beispiel...

So löschen Sie Dateinamen oder Verzeichnisse mit Sonderzeichen in Linux

Löschen einer Datei anhand ihrer Inode-Nummer Ver...

Einführung in die allgemeine API-Verwendung von Vue3

Inhaltsverzeichnis Veränderungen im Lebenszyklus ...

W3C Tutorial (1): W3C verstehen

Das W3C, eine 1994 gegründete Organisation, zielt...

Lösen Sie das Installationsproblem von Linux Tensorflow2.0

conda aktualisieren conda pip installieren tf-nig...

Beispiel für den Export und Import von Docker-Containern

Inhaltsverzeichnis Docker-Container exportieren D...

Verwendung des if-Urteils in HTML

Während der Django-Webentwicklung wird beim Schre...

Der URL-Wert des SRC- oder CSS-Hintergrundbildes ist der Base64-codierte Code

Möglicherweise ist Ihnen aufgefallen, dass auf die...

Detaillierte Erläuterung des Lesevorgangs für Nginx-Anforderungsheaderdaten

Im vorherigen Artikel haben wir erklärt, wie ngin...