Generátorok a JavaScriptben
Léteznek speciális függvények, amelyek segítségével saját iterátorokat lehet létrehozni. Az ilyen függvényeket generátoroknak nevezzük. Az ilyen függvények neve csillaggal kell kezdődjenek:
function *func() {
}
A generátorokon belül a yield kulcsszót használják,
ami azt jelzi, mit kell
visszaadnia az iterátornak a
következő hívásnál. Példaként
tegyük úgy, hogy az első
hívás 1-et adjon vissza, a második - 2-t,
a harmadik pedig - 3-at:
function *func() {
yield 1;
yield 2;
yield 3;
}
A generátor visszatérési értéke egy iterátor:
let iter = func();
Ellenőrizzük az iterátorunk működését:
console.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}
Készítsen egy olyan iterátort, amely minden hívásakor
visszaadja a 5-től
1-ig terjedő számokat.