Junior — Middle
Puoi spiegare cos'è una closure in JavaScript e come funziona?
sobes.tech AI
Risposta dell'AI
Le closure in JavaScript è una funzione che «ricorda» l'ambiente in cui è stata creata, anche se quell'ambiente non è più attivo. In parole semplici, una funzione all’interno di un’altra può accedere alle variabili della funzione esterna anche dopo che questa ha terminato l’esecuzione.
Questo funziona perché, al momento della creazione di una funzione, viene conservata una referenza all’ambiente lessicale in cui è stata dichiarata.
Esempio:
function esterna() {
let contatore = 0;
return function interna() {
contatore++;
console.log(contatore);
};
}
const contatore = esterna();
contatore(); // 1
contatore(); // 2
Qui, interna chiude la variabile contatore di esterna, mantenendo il suo stato tra le chiamate.