Sobes.tech
Junior — Middle

Poți explica ce este o închidere în JavaScript și cum funcționează?

sobes.tech AI

Răspuns de la AI

Închiderea în JavaScript este o funcție care «ține minte» mediul în care a fost creată, chiar dacă acel mediu nu mai este activ. Pe scurt, o funcție din interiorul altei funcții poate accesa variabilele funcției externe după ce aceasta și-a încheiat execuția.

Acest lucru funcționează deoarece, la crearea unei funcții, se păstrează o referință la mediul lexical în care a fost declarată.

Exemplu:

function exterior() {
  let contor = 0;
  return function interior() {
    contor++;
    console.log(contor);
  };
}

const contor = exterior();
contor(); // 1
contor(); // 2

Aici, interior închide variabila contor din exterior, păstrând starea acesteia între apeluri.