Hint
Each function call creates a fresh closure environment β independent state.
function makeCounter() {
let count = 0;
return {
inc: () => ++count,
dec: () => --count,
val: () => count
};
}
const a = makeCounter();
const b = makeCounter();
a.inc(); a.inc(); b.inc();
console.log(a.val());
console.log(b.val());2 1
Explanation: Each makeCounter() call creates an independent closure with its own count. a and b do not share state.
Key Insight: Each function call creates a fresh closure environment β independent state.