Генераторы в JavaScript

Существуют специальные функции, с помощью которых можно создавать свои итераторы. Такие функции называются генераторы. Имена таких функций должны начинаться со звездочки:

function *func() { }

Внутри генераторов используется ключевое слово yield, указывающее то, что должен вернуть итератор на следующем вызове. Для примера давайте сделаем так, чтобы первый вызов возвращал 1, второй - 2, а третий - 3:

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

Генератор своим результатом возвращает итератор:

let iter = func();

Давайте проверим работу нашего итератора:

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}

Создайте итератор, каждый вызов которого будет возвращать числа от 5 до 1.



Чат с GPT Компилятор