Sobes.tech
Junior

A cosa serve usare una closure in JavaScript?

sobes.tech AI

Risposta dell'AI

La chiusura (closure) in JavaScript è una funzione che «ricorda» l'ambiente in cui è stata creata, incluso l'accesso alle variabili dell'ambito esterno, anche se questa funzione esterna ha già terminato l'esecuzione.

A cosa serve:

  • Mantenere lo stato tra le chiamate di funzione.
  • Incapsulamento dei dati, creazione di variabili private.
  • Implementazione di funzioni con parametri predefiniti o applicazione parziale.
  • Nei React hooks, le chiusure aiutano a mantenere l'accesso allo stato e alle props all'interno delle funzioni.

Esempio:

function makeCounter() {
  let count = 0;
  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, anche dopo che makeCounter ha terminato.