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.