Генератары ў JavaScript

Існуюць спецыяльныя функцыі, з дапамогай якіх можна ствараць свае ітэратары. Такія функцыі называюцца генератары. Імёны такіх функцый павінны пачынацца са зорачкі:

javascriptfunction *func() {
  
}

Унутры генератараў выкарыстоўваецца ключавое слова yield, якое паказвае на тое, што павінен вярнуць ітэратар на наступным выкліку. Для прыкладу давайце зробім так, каб першы выклік вяртаў 1, другі - 2, а трэці - 3:

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

Генератар сваім вынікам вяртае ітэратар:

javascriptlet iter = func();

Давайце праверым працу нашага ітэратара:

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

Стварыце ітэратар, кожны выклік якога будзе вяртаць лікі ад 5 да 1.