Sobes.tech
Junior — Middle

Qual è il ruolo delle closure in JavaScript e a cosa servono?

sobes.tech AI

Risposta dell'AI

Le chiusure (closures) in JavaScript sono funzioni che "ricordano" l'ambiente in cui sono state create, incluso l'accesso alle variabili di una funzione esterna anche dopo che questa è terminata.

Ruolo delle chiusure:

  • Permettono di creare variabili e metodi privati, incapsulando i dati.
  • Sono usate per creare funzioni con stato conservato.
  • Aiutano a evitare l'inquinamento dello spazio globale.
  • Sono utilizzate nella programmazione funzionale per creare funzioni con argomenti parzialmente applicati.

Esempio:

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

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

Qui, la funzione interna mantiene l'accesso alla variabile count della funzione esterna, creando una chiusura.