Sobes.tech
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();