Junior
Mis vahe on let ja var vahel
sobes.tech AI
Vastus AI-lt
var omab funktsionaalset või globaalse ulatuse, seda saab uuesti deklareerida ja üle kirjutada. See on hoisting'ile allutatud ning algab undefined'ina. let omab ploki ulatust, seda saab üle kirjutada, kuid mitte samas ulatuses uuesti deklareerida. Samuti on see hoisting'ile allutatud, kuid asub "ajutises surnud tsoonis" kuni initsialiseerimiseni.
Võrdlustabel:
| Omadus | var |
let |
|---|---|---|
| Ulatus | Funktsionaalne / Globaalne | Ploki ulatus |
| Uuesti deklareerimine | Jah | Ei |
| Üle kirjutamine | Jah | Jah |
| Hoisting'ile allutatus | Jah | Jah |
| Initsialiseerimine | undefined |
- (ajutine surnud tsoon) |
Näide:
// var
function näideVar() {
var x = 10;
kui (tõene) {
var x = 20; // x uuesti deklareerimine
console.log(x); // 20
}
console.log(x); // 20
}
// let
function näideLet() {
let y = 10;
kui (tõene) {
let y = 20; // uus y muutuv ploki ulatuses
console.log(y); // 20
}
console.log(y); // 10
}
näideVar();
näideLet();