Closures in JavaScript
Closures in JavaScript
Una closure si crea quando una funzione interna accede a variabili della funzione esterna anche dopo che quest’ultima è terminata. È un meccanismo fondamentale per l’incapsulamento e la gestione dello stato.
Come funziona una closure
In JavaScript, ogni funzione ricorda lo scope in cui è stata creata. Se una funzione interna utilizza variabili definite all’esterno, queste rimangono disponibili anche dopo che la funzione esterna ha restituito il controllo.
Esempio base
Codice Esempio: Closure semplice
function creaContatore() {
let conteggio = 0;
return function() {
conteggio++;return conteggio;
}}let contatore = creaContatore();
console.log(contatore()); // 1
console.log(contatore()); // 2
Spiegazione
La variabile conteggio appartiene allo scope della funzione creaContatore. La funzione interna, restituita come valore, mantiene un riferimento a quella variabile anche dopo che creaContatore è terminata. In questo modo possiamo mantenere uno stato privato.
Uso pratico delle closures
- Creare variabili private
- Implementare funzioni factory
- Gestire configurazioni o dati senza esporli globalmente
Esempio con parametri
Codice Esempio: Closure con parametro
function moltiplicatore(fattore) {
return function(numero) {
return numero * fattore;
}}let perDue = moltiplicatore(2);
console.log(perDue(5)); // 10
Note
Le closures sono spesso utilizzate in programmazione asincrona, gestione eventi e quando vogliamo che una funzione ricordi un contesto specifico.

IP: 216.73.216.214