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