19 lines
409 B
JavaScript
19 lines
409 B
JavaScript
/**
|
|
* @param {integer} init
|
|
* @return { increment: Function, decrement: Function, reset: Function }
|
|
*/
|
|
var createCounter = function(init) {
|
|
let n = init;
|
|
return {
|
|
increment: () => ++n,
|
|
decrement: () => --n,
|
|
reset: () => (n = init),
|
|
};
|
|
};
|
|
|
|
/**
|
|
* const counter = createCounter(5)
|
|
* counter.increment(); // 6
|
|
* counter.reset(); // 5
|
|
* counter.decrement(); // 4
|
|
*/
|