Junior
Care este diferența dintre let și var?
sobes.tech AI
Răspuns de la AI
var areă funcțională sau globală, poate fi redeclarată și rescrisă. Este supusă hoisting-ului, fiind inițializată cu undefined. let are scop de bloc, poate fi rescris, dar nu redeclarat în același scop. De asemenea, este supusă hoisting-ului, dar se află în "zona moartă temporară" până la inițializare.
Tabel comparativ:
| Caracteristică | var |
let |
|---|---|---|
| Scopul variabilei | Funcțional/Global | De bloc |
| Redeclarare | Da | Nu |
| Rescriere | Da | Da |
| Hoisting | Da | Da |
| Inițializare | undefined |
- (zona moartă temporară) |
Exemplu:
// var
function exempluVar() {
var x = 10;
if (true) {
var x = 20; // Redeclararea lui x
console.log(x); // 20
}
console.log(x); // 20
}
// let
function exempluLet() {
let y = 10;
if (true) {
let y = 20; // Nouă variabilă y în scop de bloc
console.log(y); // 20
}
console.log(y); // 10
}
exempluVar();
exempluLet();