Генераторы в 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.