Generatorer i JavaScript

Der findes specielle funktioner, ved hjælp af hvilke man kan skabe sine egne iteratorer. Sådanne funktioner kaldes generatorer. Navnene på sådanne funktioner skal starte med en stjerne:

javascriptfunction *func() {
  
}

Inde i generatorer bruges nøgleordet yield, som angiver, hvad iteratoren skal returnere ved det næste kald. Lad os for eksempel gøre sådan, at det første kald returnerer 1, det andet - 2, og det tredje - 3:

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

Generator returnerer med sit resultat en iterator:

javascriptlet iter = func();

Lad os kontrollere vores iterators funktion:

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

Skab en iterator, hvor hvert kald vil returnere tal fra 5 til 1.