Middle
Cos'è una closure? Puoi spiegarlo?
sobes.tech AI
Risposta dell'AI
Chiusura — è una funzione insieme all'ambiente lessicale in cui è stata creata. Ciò significa che la funzione 'ricorda' le variabili dell'ambiente esterno, anche se questa funzione esterna ha già terminato l'esecuzione.
Esempio in JavaScript:
function makeCounter() {
let count = 0;
return function() {
count++;
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 makeCounter, creando una chiusura. Questo permette di mantenere lo stato tra le chiamate alla funzione.