Was sind die Unterschiede zwischen var let const in JavaScript

Was sind die Unterschiede zwischen var let const in JavaScript

1. Wiederholte Erklärung

var unterstützt wiederholte Deklarationen, aber let und const unterstützen keine wiederholten Deklarationen.

1,1 var

var a = 1;
var a = 2;
konsole.log(a);

Ausgabe:

2

1.2 lassen

sei b = 3;
sei b = 4;
console.log(b);

Ausgabe:

Nicht abgefangener Syntaxfehler: Der Bezeichner „b“ wurde bereits deklariert

1.3 konstant

Konstante c = 5;
Konstante c = 6;
console.log(c);

Ausgabe:

Nicht abgefangener Syntaxfehler: Der Bezeichner „c“ wurde bereits deklariert

2. Variable Förderung

var unterstützt die Variablenheraufstufung, fördert jedoch nur die Deklaration und nicht den Wert. let und const unterstützen keine Variablenpromotion.

2.1 var

ein = 2;
konsole.log(a);
var a = 1;

Ausgabe:

2

2.2 lassen

ein = 2;
konsole.log(a);
sei a = 1;

Ausgabe:

Nicht erfasster Referenzfehler: Auf „a“ kann vor der Initialisierung bei index.html:28 nicht zugegriffen werden.

2.3 konstant

ein = 2;
konsole.log(a);
Konstante a = 1;

Ausgabe:

Nicht erfasster Referenzfehler: Auf „a“ kann vor der Initialisierung bei index.html:28 nicht zugegriffen werden.

3. Temporäre tote Zone

Es gibt keine temporäre Totzone für var, aber es gibt eine temporäre Totzone für let und const.
Solange let und const im Gültigkeitsbereich existieren, sind die von ihnen deklarierten Variablen oder Konstanten automatisch an diesen Bereich „gebunden“ und werden vom externen Gültigkeitsbereich nicht mehr beeinflusst.

3.1 var

var a = 1;
Funktion Spaß() {
    konsole.log(a);
    var a = 2;
}
Spaß();

Ausgabe:

undefiniert

3.2 lassen

sei a = 1;
Funktion Spaß() {
    konsole.log(a);
    sei a = 2;
}
Spaß();

Ausgabe:

Nicht erfasster Referenzfehler: Vor der Initialisierung kann nicht auf „a“ zugegriffen werden.

3.3 Konset

sei a = 1;
Funktion Spaß() {
    konsole.log(a);
    Konstante a = 2;
}
Spaß();

Ausgabe:

Nicht erfasster Referenzfehler: Vor der Initialisierung kann nicht auf „a“ zugegriffen werden.

4. Eigenschaften und Methoden des Fensterobjekts

Im globalen Bereich werden mit var deklarierte Variablen und mit function deklarierte Funktionen automatisch zu Eigenschaften und Methoden des Fensterobjekts.

var a = 1;
Funktion add() { };
Konsole.log(Fenster.a === a);
Konsole.log(Fenster.add === hinzufügen);

Ausgabe:

WAHR
WAHR

5. Blockumfang

var hat keinen Gültigkeitsbereich auf Blockebene, let und const jedoch schon.
Verwenden Sie var , um die Variable i in der For-Schleife zu definieren:

für (var i = 0; i < 3; i++) {
    // konsole.log(i);
}
konsole.log(i);

Ausgabe:

3

Verwenden Sie let , um die Variable i in der for-Schleife zu definieren:

für (sei i = 0; i < 3; i++) {
    // konsole.log(i);
}
konsole.log(i);

Ausgabe:

Nicht erfasster Referenzfehler: i ist nicht definiert

Damit ist dieser Artikel über die Unterschiede zwischen der Verwendung von var, let und const in JavaScript abgeschlossen. Weitere Informationen zur Verwendung von JavaScript var finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Detaillierte Erklärung des Unterschieds zwischen var, let und 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

<<:  Implementierung der automatischen Vervollständigung von Docker-Befehlen

>>:  HTML-Tabellen-Markup-Tutorial (14): Tabellenkopf

Artikel empfehlen

Kleines Problem mit dem Abstand zwischen Label und Eingabe im Google Browser

Erst Code, dann Text Code kopieren Der Code lautet...

So installieren Sie Docker mithilfe von Skripten unter Linux Centos

Was ist die Hauptfunktion von Docker? Derzeit gib...

Einführung in die Verschachtelungsregeln von HTML-Tags

Es gibt viele XHTML-Tags: div, ul, li, dl, dt, dd...

Docker installiert ClickHouse und initialisiert den Datentest

Clickhouse-Einführung ClickHouse ist ein spalteno...

So ermitteln Sie die Höhe des MySQL InnoDB B+-Baums

Vorwort Der Grund, warum die InnoDB-Engine von My...

Vue verwendet E-Charts, um ein Organigramm zu zeichnen

Gestern habe ich einen Blog über den kreisförmige...

Beispielerklärung der Alarmfunktion in Linux

Einführung in die Linux-Alarmfunktion Oben genann...

Detaillierte Erläuterung der Kernkonzepte und Fälle von webpack-dev-server

Kernkonzepte von webpack-dev-server Webpacks Cont...

JavaScript zum Erzielen eines einfachen Drag-Effekts

In diesem Artikel wird der spezifische JavaScript...

So erstellen Sie schnell zig Millionen Testdaten in MySQL

Bemerkung: Die Datenmenge in diesem Artikel beträ...