Cos'è una closure
Una closure è una funzione che mantiene accesso al lexical scope in cui è stata creata, anche se viene chiamata altrove.
function counter() {
let n = 0;
return function () {
return ++n;
};
}
const inc = counter();
inc(); // 1
inc(); // 2
La funzione interna ricorda n anche dopo che counter() è finita.
Quando le incontri
- Module pattern (state privato).
- Callback con dati catturati.
- Hook React (
useStateusa closure).