Closure == state maintained (closed) inside a function. Hidden from the outside world
Example: counter with closures:
function counterClosure() {
let counter = 0;
function getNextCount() {
console.log(++counter);
}
return getNextCount;
}
or with IIFE (see here)
let counter = (function counterClosure() {
let counter = 0;
function getNextCount() {
console.log(++counter);
}
return getNextCount;
})();
counter();