Generatori u JavaScript-u

Postoje posebne funkcije pomoću kojih možete da kreirate sopstvene iteratore. Takve funkcije se zovu generatori. Imena ovih funkcija moraju da počnu zvezdicom:

javascriptfunction *func() {
  
}

Unutar generatora koristi se ključna reč yield koja označava šta iterator treba da vrati pri sledećem pozivu. Na primer, hajde da postavimo da prvi poziv vrati 1, drugi - 2, a treći - 3:

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

Generator kao svoj rezultat vraća iterator:

javascriptlet iter = func();

Hajde da proverimo rad našeg 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

Kreirajte iterator čiji će svaki poziv vraćati brojeve od 5 do 1.