Generatorji v JavaScript
Obstajajo posebne funkcije, s pomočjo kterih lahko ustvarite lastne iteratorje. Takšne funkcije imenujemo generatorji. Imena takšnih funkcij se morajo začeti z zvezdico:
javascriptfunction *func() {
}
Znotraj generatorjev se uporablja ključna
beseda yield, ki določa,
kaj naj iterator vrne
ob naslednjem klicu. Za primer
naredimo tako, da prvi
klic vrne 1, drugi - 2,
tretji pa - 3:
javascriptfunction *func() {
yield 1;
yield 2;
yield 3;
}
Generator kot rezultat vrne iterator:
javascriptlet iter = func();
Preverimo delovanje našega iteratorja:
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
Ustvarite iterator, katerega vsak klic
bo vrnil številke od 5
do 1.