Junior
let və var arasında fərq nədir?
sobes.tech Süni İntellekt
AI-dan cavab
var funksional və ya qlobal sahəyə malikdir, yenidən elan edilə və üst-üstə yaza bilər. Hoisting-ə məruz qalır və undefined ilə başlanır. let blok sahəsinə malikdir, yenidən yaza bilər, amma eyni sahədə yenidən elan edilə bilməz. Həmçinin, Hoisting-ə məruz qalır, lakin "müvəqqəti ölü zona"da yerləşir və ilkinləşdirilməyənə qədər istifadə edilə bilməz.
Müqayisə cədvəli:
| Xüsusiyyət | var |
let |
|---|---|---|
| Sahə (Scope) | Funksional/Qlobal | Blok sahəsi |
| Yenidən elan edilə bilər | Bəli | Xeyr |
| Üst-üstə yaza bilər | Bəli | Bəli |
| Hoisting | Bəli | Bəli |
| İlkinləşdirmə | undefined |
- (müvəqqəti ölü zona) |
Nümunə:
// var
function nümunəVar() {
var x = 10;
if (true) {
var x = 20; // x-in yenidən elan edilməsi
console.log(x); // 20
}
console.log(x); // 20
}
// let
function nümunəLet() {
let y = 10;
if (true) {
let y = 20; // Blok sahəsində yeni dəyişən y
console.log(y); // 20
}
console.log(y); // 10
}
nümunəVar();
nümunəLet();