Установка и уменьшение значения счётчика
важность: 5
Измените код makeCounter() так, чтобы счётчик мог уменьшать и устанавливать значение:
counter()должен возвращать следующее значение (как и раньше).counter.set(value)должен устанавливать счётчику значениеvalue.counter.decrease()должен уменьшать значение счётчика на 1.
Посмотрите код из песочницы с полным примером использования.
P.S. Для того, чтобы сохранить текущее значение счётчика, можно воспользоваться как замыканием, так и свойством функции. Или сделать два варианта решения: и так, и так.
В решении использована локальная переменная count, а методы сложения записаны прямо в counter. Они разделяют одно и то же лексическое окружение и также имеют доступ к текущей переменной count.
function makeCounter() {
let count = 0;
function counter() {
return count++;
}
counter.set = value => count = value;
counter.decrease = () => count--;
return counter;
}