Generatorer i JavaScript

Det finnes spesielle funksjoner, ved hjelp av som du kan opprette dine egne iteratorer. Slike funksjoner kalles generatorer. Navnene på slike funksjoner må starte med en stjerne:

javascriptfunction *func() {
  
}

Inne i generatorer brukes nøkkelordet yield, som indikerer hva iteratoren skal returnere på det neste kallet. La oss for eksempel gjøre slik at det første kallet returnerer 1, det andre - 2, og det tredje - 3:

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

Generator returnerer ved sitt resultat en iterator:

javascriptlet iter = func();

La oss sjekke hvordan iteratoren vår fungerer:

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

Opprett en iterator, hvor hvert kall vil returnere tall fra 5 til 1.