Junior
Kuo skiriasi let ir var?
sobes.tech AI
Atsakymas iš AI
var turi funkcijos arba globalios apimties, gali būti pervadintas ir perrašytas. Patenka į Hoisting'ą ir inicializuojamas kaip undefined. let turi blokinio apimties, gali būti perrašytas, bet ne pervadintas tame pačiame apimtyje. Taip pat patenka į Hoisting'ą, bet yra "laikinoje mirštančioje zonoje" iki inicializacijos.
Lyginamoji lentelė:
| Savybė | var |
let |
|---|---|---|
| Apimties pobūdis | Funkcinis / Globalus | Blokinis |
| Pervadinimas | Taip | Ne |
| Perrašymas | Taip | Taip |
| Hoisting'as | Taip | Taip |
| Inicializacija | undefined |
- (laikina mirštanti zona) |
Pavyzdys:
// var
function pavyzdysVar() {
var x = 10;
jei (teisinga) {
var x = 20; // x pervadinimas
console.log(x); // 20
}
console.log(x); // 20
}
// let
function pavyzdysLet() {
le y = 10;
jei (teisinga) {
le y = 20; // nauja y kintamoji blokinio apimties
console.log(y); // 20
}
console.log(y); // 10
}
pavyzdysVar();
pavyzdysLet();