A closure is when a function remembers variables from its outer scope, even after the outer function has finished.
Example:
function outer() {
let count = 0;
return function inner() {
count++;
return count;
};
}
let counter = outer();
console.log(counter()); // 1
console.log(counter()); // 2
Here, inner()
remembers count
from outer()
.