Junior
Was ist der Unterschied zwischen let und var?
sobes.tech KI
Antwort von AI
var hat einen funktionalen oder globalen Gültigkeitsbereich, kann neu deklariert und überschrieben werden. Es unterliegt dem Hoisting und wird initial mit undefined gesetzt. let hat einen Blockbereich, kann überschrieben, aber nicht im selben Gültigkeitsbereich neu deklariert werden. Es ist ebenfalls dem Hoisting unterworfen, befindet sich aber in der "temporären toten Zone" bis zur Initialisierung.
Vergleichstabelle:
| Eigenschaft | var |
let |
|---|---|---|
| Gültigkeitsbereich | Funktional/Global | Block |
| Neu deklariert | Ja | Nein |
| Überschrieben | Ja | Ja |
| Hoisting | Ja | Ja |
| Initialisierung | undefined |
- (temporäre tote Zone) |
Beispiel:
// var
function beispielVar() {
var x = 10;
if (true) {
var x = 20; // Neudeklaration von x
console.log(x); // 20
}
console.log(x); // 20
}
// let
function beispielLet() {
let y = 10;
if (true) {
let y = 20; // Neue Variable y im Blockbereich
console.log(y); // 20
}
console.log(y); // 10
}
beispielVar();
beispielLet();