← Practice
Modern JavaScript·medium 18 min 75 XP

Closures Challenge

Write makeCounter(start) returning { increment, decrement, value } that all share one private counter.

Examples

  • const c = makeCounter(5); c.increment(); c.value() → 6

Constraints

  • Keep the required function name so the tests can find it
  • Return a value instead of only logging it
  • Do not mutate inputs unless the challenge asks you to
Closures Challenge · editor

Code runs in an isolated Web Worker with a 3-second timeout — no DOM access, and it can never hang the page.