Back to the lesson

Set and decrease for counter

importance: 5

Modify the code of makeCounter() so that the counter can also decrease and set the number:

  • counter() should return the next number (as before).
  • counter.set(value) should set the count to value.
  • counter.decrease(value) should decrease the count by 1.

See the sandbox code for the complete usage example.

P.S. You can use either a closure or the function property to keep the current count. Or write both variants.

Open the sandbox with tests.

The solution uses count in the local variable, but addition methods are written right into the counter. They share the same outer lexical environment and also can access the current count.

Open the solution with tests in the sandbox.