Встановити і зменшити лічильник
важливість: 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;
}