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
function példaVar() {
var x = 10;
if (true) {
var x = 20; // x újra deklarálása
console.log(x); // 20
}
console.log(x); // 20
}
// let
function példaLet() {
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();