Sobes.tech
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();