Generatory w JavaScript

Istnieją specjalne funkcje, za pomocą których można tworzyć własne iteratory. Takie funkcje nazywają się generatory. Nazwy takich funkcji muszą zaczynać się od gwiazdki:

javascriptfunction *func() {
  
}

Wewnątrz generatorów używa się słowa kluczowego yield, wskazującego to, co iterator ma zwrócić przy następnym wywołaniu. Dla przykładu zróbmy tak, aby pierwsze wywołanie zwracało 1, drugie - 2, a trzecie - 3:

javascriptfunction *func() {
  yield 1;
  yield 2;
  yield 3;
}

Generator swoim wynikiem zwraca iterator:

javascriptlet iter = func();

Sprawdźmy działanie naszego iteratora:

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

Stwórz iterator, którego każde wywołanie będzie zwracać liczby od 5 do 1.