Sobes.tech
Junior — Middle

Care sunt diferențele dintre declararea variabilelor folosind let și var în JavaScript?

sobes.tech AI

Răspuns de la AI

Variabilele declarate cu var au scop funcțional (function scope), în timp ce let are scop de bloc (block scope). Asta înseamnă că o variabilă cu let este accesibilă doar în interiorul acoladelor cele mai apropiate, de exemplu, în interiorul unui ciclu sau condiție.

În plus, var este ridicată (hoisting) și inițializată cu valoarea undefined înainte de execuția codului, în timp ce let este de asemenea ridicată, dar nu este inițializată; încercarea de a accesa variabila înainte de declarație va provoca o eroare (Zona Mortala Temporară).

Exemplu:

function test() {
  console.log(a); // undefined
  // console.log(b); // ReferenceError
  var a = 1;
  let b = 2;
}

De asemenea, var permite redeclararea aceleiași variabile în același scop, ceea ce poate duce la erori, în timp ce let nu.