Это больше теоретический вопрос, но я чувствую, что должен быть способ сделать это.
У меня есть JS-компоненты, для которых при создании необходимо присвоить элементу html уникальный идентификатор, который не использовался ни в одном другом компоненте. Обычно это довольно тривиально:
let currentId = 0;
function getNextId() {
currentId += 1;
return currentId;
}
function MyComponent() {
this.id = getNextId();
// Code which uses id
}
let c1 = new MyComponent();
// c1.id === 1
let c2 = new MyComponent();
// c2.id === 2
Мне интересно, есть ли способ сделать что-то подобное, используя только чистые функции, поскольку я пытаюсь обдумать некоторые более продвинутые чистые функциональные идеи. Насколько я могу судить, для этого потребуются монады или что-то в этом роде, но я не знаю, как это сделать.
Спасибо!
State
. - person chepner   schedule 04.11.2016