Генератори в 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.