Una closure aparece cuando una función conserva acceso a variables del ámbito en el que fue creada, incluso después de terminar la llamada exterior.
Ejemplo
JavaScript · Funciones
function crearContador() {
let valor = 0;
return () => ++valor;
}
const siguiente = crearContador();
console.log(siguiente()); // 1
console.log(siguiente()); // 2Evita esta confusión
Cada llamada a crearContador crea su propio estado. No confundas ese estado con una variable global.