Задача:
Изменить код makeCounter()
, чтобы счетчик также мог уменьшаться и установить число.
Я не понимаю, гдечто value
взято, и что это за set
.
function makeCounter() {
let count = 0;
function counter() {
return count++
}
// Here is this `value`. I understand what it does. But what is it,
// and where did it come from. How can I use it in general?
counter.set = value => count = value;
counter.decrease = () => count--;
return counter;
}
let counter = makeCounter();
alert(counter()); // 0
alert(counter()); // 1
// Also here, what kind of `set` is this?
// I’ve seen one in `Map.prototype.set()`, but there is no `Map` here.
counter.set(10); // set the new count
alert(counter()); // 10
counter.decrease(); // decrease the count by 1
alert(counter()); // 10 (instead of 11)
Источник кода .