Junior
Kāda ir atšķirība starp let un var?
sobes.tech AI
Atbilde no AI
var ir funkcionālam vai globālam redzesloka ir, to var atkārtoti deklarēt un pārrakstīt. Tas pakļauts Hoisting, un tiek inicializēts kā undefined. let ir bloka redzesloks, to var pārrakstīt, bet ne atkārtoti deklarēt tajā pašā redzesloka līmenī. Arī tas pakļauts Hoisting, bet atrodas "laikā mirušajā zonā" līdz inicializācijai.
Salīdzināšanas tabula:
| Īpašība | var |
let |
|---|---|---|
| Redzesloka veids | Funkcionāls / Globāls | Bloka |
| Atkārtota deklarācija | Jā | Nē |
| Pārrakstīšana | Jā | Jā |
| Hoisting | Jā | Jā |
| Inicializācija | undefined |
- (laikā mirušā zona) |
Piemērs:
// var
funkcija piemērsVar() {
var x = 10;
ja (patiesa) {
var x = 20; // x atkārtota deklarācija
console.log(x); // 20
}
console.log(x); // 20
}
// let
funkcija piemērsLet() {
let y = 10;
ja (patiesa) {
let y = 20; // jauna y mainīgā blokā
console.log(y); // 20
}
console.log(y); // 10
}
piemērsVar();
piemērsLet();