Description
A function that remembers variables from its outer scope even after the outer function has returned.
?
Reach for when
You want to store state in a function
Code
function createCounter() {
let count = 0;
return () => ++count;
}
const counter = createCounter();
counter(); // 1
counter(); // 2