Я не понимаю, откуда взято это значение и что это за набор - PullRequest
0 голосов
/ 24 мая 2018

Задача:

Изменить код 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)

Источник кода .

1 Ответ

0 голосов
/ 24 мая 2018

Ну, это функция стрелки , а value - имя первого параметра этой функции.

counter.set = value => count = value;
counter.decrease = () => {
  count--;
  return counter;
}

Приведенный выше код транслируется в синтаксис ES5:

counter.set = function (value) {
  return count = value;
};
counter.decrease = function () {
  count--;
  return counter;
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...