Generátory v JavaScripte
Existujú špeciálne funkcie, pomocou ktorých možno vytvárať vlastné iterátory. Takéto funkcie sa nazývajú generátory. Mená týchto funkcií musia začínať hviezdičkou:
javascriptfunction *func() {
}
Vo vnútri generátorov sa používa kľúčové
slovo yield, ktoré určuje,
čo má iterátor vrátiť pri
ďalšom volaní. Pre príklad
urobme tak, aby prvé volanie
vrátilo 1, druhé - 2,
a tretie - 3:
javascriptfunction *func() {
yield 1;
yield 2;
yield 3;
}
Generátor svojím výsledkom vracia iterátor:
javascriptlet iter = func();
Overme si činnosť nášho iterátora:
javascriptconsole.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}
Задание 1
Vytvorte iterátor, ktorého každé volanie
vráti čísla od 5
do 1.