Sobes.tech
Junior

La folosește pentru ce este nevoie de închiderea în JavaScript?

sobes.tech AI

Răspuns de la AI

Închiderea (closure) în JavaScript este o funcție care «ține minte» mediul în care a fost creată, inclusiv accesul la variabilele din domeniul extern, chiar dacă această funcție externă a fost deja finalizată.

Pentru ce este nevoie:

  • Păstrarea stării între apelurile funcțiilor.
  • Încapsularea datelor, crearea variabilelor private.
  • Implementarea funcțiilor cu parametri predefiniți sau aplicare parțială.
  • În hooks-urile React, închiderea ajută la păstrarea accesului la stare și la props în interiorul funcțiilor.

Exemplu:

function makeCounter() {
  let count = 0;
  return function() {
    count += 1;
    return count;
  };
}

const counter = makeCounter();
console.log(counter()); // 1
console.log(counter()); // 2

Aici, funcția internă păstrează accesul la variabila count din funcția externă, chiar și după ce makeCounter a fost finalizată.