All Challengesintermediate
Closure and counter
Closures are a fundamental JavaScript concept. AI uses this pattern for factories and encapsulation.
closuresscopefactory functionencapsulation
javascript
function makeCounter(start = 0) {
let count = start
return {
increment() { count += 1 },
decrement() { count -= 1 },
reset() { count = start },
value() { return count }
}
}
const counter = makeCounter(10)
counter.increment()
counter.increment()
counter.increment()
counter.decrement()
const result = counter.value()
counter.reset()
const afterReset = counter.value()Question
What are result and afterReset?