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.