Hint
Closures share a live variable binding. Mutations persist and are visible on every subsequent call.
function outer() {
let x = 10;
return function inner() {
x++;
return x;
};
}
const fn = outer();
console.log(fn());
console.log(fn());
console.log(fn());11 12 13
Explanation: inner closes over x. Each call increments the same x — closures capture the live variable binding, not a snapshot.
Key Insight: Closures share a live variable binding. Mutations persist and are visible on every subsequent call.