Написать функцию createSummator(initialValue)
, с необязательным первым параметром, который является начальным значением счетчика.
Если аргумент initialValue
не передан, то отчет начинается с 0
. При каждом вызове функция возвращает объект с методами inc(num)
, dec(num)
, get()
. Объектов, которые возвращает функция createSummator
, может быть любое количество. Реализация должна позволять манипуляции со значением счетчика только с использованием этих методов.
- Вызов метода
inc(num)
увеличивает значение счетчика на значение аргументаnum
. Если метод вызван без аргумента, то значение счетчика увеличивается на1
- Вызов метода
dec(num)
уменьшает значение счетчика на значениеnum
, если метод вызван с аргументом. Если метод вызван без аргумента, то значение счетчика уменьшается на1
. - Вызов метода
get()
возвращает текущее значение счетчика. Примеры использования:
const s1 = createSummator()
s1.inc()
s1.inc()
s1.inc()
s1.get()
const s2 = createSummator(10)
s2.inc(2)
s2.inc(3)
s2.inc(4)
s2.get()
const s3 = createSummator(5)
s3.inc(5)
s3.dec(10)
s3.get()