Sobes.tech
Junior

Mi a különbség a let és a var között?

sobes.tech MI

Válasz az MI-től

A var funkcionális vagy globális hatókörrel rendelkezik, újra deklarálható és felülírható. A Hoisting hatálya alá esik, és undefined-ként inicializálódik. A let blokk hatókörrel rendelkezik, felülírható, de ugyanabban a hatókörben nem deklarálható újra. Szintén a Hoisting hatálya alá esik, de a "ideiglenes halott zónában" van az inicializálásáig.

Összehasonlító táblázat:

Jellemző var let
Hatókör Funkcionális/Globális Blokk
Újra deklarálható Igen Nem
Felülírható Igen Igen
Hoisting Igen Igen
Inicializálás undefined - (ideiglenes halott zóna)

Példa:

// var
functionldaVar() {
  var x = 10;
  if (true) {
    var x = 20; // x újra deklarálása
    console.log(x); // 20
  }
  console.log(x); // 20
}

// let
functionldaLet() {
  let y = 10;
  if (true) {
    let y = 20; // Új y változó blokk szinten
    console.log(y); // 20
  }
  console.log(y); // 10
}

példaVar();
példaLet();