Sobes.tech
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.