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.