JavaScript lässt Vs var (mit Beispielen)

In diesem Tutorial lernen Sie anhand von Beispielen den Unterschied zwischen let und var in JavaScript kennen.

In JavaScript werden sowohl die Schlüsselwörter varals letauch zum Deklarieren von Variablen verwendet.

Das letSchlüsselwort wurde in der späteren Version von JavaScript eingeführt, die als ES6 (ES2015) bekannt ist . Und es ist die bevorzugte Methode, Variablen zu deklarieren.

JavaScript lassen Vs var

Hier ist die Übersicht über die Unterschiede zwischen letund var.

Lassen var
let ist block-scoped. var ist funktionsbezogen.
let erlaubt es nicht, Variablen neu zu deklarieren. var ermöglicht das erneute Deklarieren von Variablen.
Das Heben erfolgt nicht in let. Das Heben erfolgt in var.

JavaScript lässt Vs var im lokalen Bereich

var ist funktionsbezogen

Die in einer Funktion mit deklarierte Variable varkann an einer beliebigen Stelle innerhalb einer Funktion verwendet werden. Beispielsweise,

 // program to print text // variable a cannot be used here function greet() ( // variable a can be used here var a = 'hello'; console.log(a); ) // variable a cannot be used here greet(); // hello

Im obigen Programm wird die Variable a mit deklariert var. Die Variable a kann an einer beliebigen Stelle innerhalb der Funktion verwendet werden greet.

let ist block-scoped

Auf die mit deklarierte Variable letkann nur innerhalb eines Codeblocks zugegriffen werden. Beispielsweise,

 // program to print the text // variable a cannot be used here function greet() ( let a = 'hello'; // variable b cannot be used here if(a == 'hello')( // variable b can be used here let b = 'world'; console.log(a + ' ' + b); ) // variable b cannot be used here console.log(a + ' ' + b); // error ) // variable a cannot be used here greet();

Ausgabe

 Hallo Welt Ungefangener Referenzfehler: b ist nicht definiert

Im obigen Programm wird die Variable a innerhalb der Funktion deklariert und kann überall innerhalb der Funktion aufgerufen werden (a wird funktionsbezogen).

Die Variable b wird jedoch in der ifblock-Anweisung deklariert . b hat einen Blockbereich und ist nur innerhalb des ifBlocks zugänglich .

Wenn Sie versuchen, außerhalb des ifBlocks auf b zuzugreifen , tritt daher ein Fehler auf (wie oben im Programm gezeigt).

Hinweis : Die in einer Funktion deklarierten Variablen haben einen Funktionsbereich für varund let.

let erlaubt es nicht, Variablen neu zu deklarieren

1. Eine mit deklarierte Variable varkann erneut deklariert werden. Beispielsweise,

 var a = 5; // 5 var a = 3; // 3

Eine mit deklarierte Variable letkann nicht innerhalb desselben Blocks oder Bereichs erneut deklariert werden. Beispielsweise,

 let a = 5; let a = 3; // error 

Ausgabe

 Nicht erfasster SyntaxError: Der Bezeichner 'a' wurde bereits deklariert

2. Durch erneutes Deklarieren einer Variablen varin einem anderen Bereich oder Block wird auch der Wert der äußeren Variablen geändert. Beispielsweise,

 var a = 5; console.log(a); // 5 ( var a = 3; console.log(a); // 3 ) console.log(a); // 3

Durch erneutes Deklarieren einer Variablen mit letin einem anderen Bereich oder Block wird diese Variable als andere Variable behandelt. Und der Wert einer Variablen außerhalb ändert sich nicht. Beispielsweise,

 let a = 5; console.log(a); // 5 ( let a = 3; console.log(a); // 3 ) console.log(a); // 5

3. Wenn eine mit deklarierte Variable varin einer Schleife verwendet wird, ändert sich der Wert dieser Variablen. Beispielsweise,

 var a = 2; for(var a = 0; a < 3; a++) ( console.log('hello'); ) console.log(a); // 3

Im obigen Programm fordeklariert die Schleife die Variable a neu. Daher wird der Wert von am Ende aauf 3 geändert .

Wenn eine mit let deklarierte Variable in einer Schleife verwendet wird, ändert sich der Wert einer Variablen nicht. Beispielsweise,

 let a = 2; for(let a = 0; a < 3; a++) ( console.log('hello'); ) console.log(a); // 2

Im obigen Programm forbehandelt die Schleife die Variable a als eine andere Variable als die oben deklarierte. Und der Umfang dieser Variablen befindet sich nur innerhalb der forSchleife. Daher bleibt der Wert der Variablen a am Ende 2 .

Lassen Sie das Heben nicht zu

Die mit deklarierten Variablen varwerden an den Anfang des Programmbereichs gesetzt. Beispielsweise,

 console.log(a); var a; // undefined (not an error)

Das Schlüsselwort leterlaubt kein Heben. Beispielsweise,

 console.log(a); let a; // Uncaught ReferenceError: a is not defined

Wenn Sie mehr über das Heben erfahren möchten, besuchen Sie JavaScript-Heben.

let und var Browser-Unterstützung

Die meisten modernen Browser unterstützen die Verwendung von let. Einige Browser unterstützen dies jedoch nicht vollständig let.

Um mehr zu erfahren, besuchen Sie JavaScript und lassen Sie den Browser unterstützen.

Hinweis : Bei globalem Gültigkeitsbereich verhalten sich beide varund letgleich. Beispielsweise,

 var a = 5; // 5

Die Variable a hat einen globalen Gültigkeitsbereich und kann überall im Programm aufgerufen werden.

 let a = 5; // 5

Die Variable a hat einen globalen Gültigkeitsbereich und kann überall im Programm aufgerufen werden.

Interessante Beiträge...