Генератори во JavaScript
Постојат специјални функции, со помош на кои може да се креираат свои итератори. Таквите функции се нарекуваат генератори. Имињата на таквите функции мора да започнуваат со ѕвездичка:
function *func() {
}
Внатре во генераторите се користи клучен
збор yield, кој укажува на тоа
што треба да го врати итераторот на
следниот повик. За пример
да направиме така што првиот
повик да врати 1, вториот - 2,
а третиот - 3:
function *func() {
yield 1;
yield 2;
yield 3;
}
Генераторот со својот резултат враќа итератор:
let iter = func();
Да ја провериме работата на нашиот итератор:
console.log(iter.next()); // {value: 1, done: false}
console.log(iter.next()); // {value: 2, done: false}
console.log(iter.next()); // {value: 3, done: false}
console.log(iter.next()); // {value: undefined, done: true}
Создадете итератор, чиј што секој повик
ќе враќа броеви од 5
до 1.