Назад к вопросам
Middle+
9
Что такое генераторы?
Компании, где спрашивали
Ifellow
Ответ от нейросети
sobes.tech AI
Генераторы в JavaScript — это функции, которые можно приостанавливать и возобновлять, позволяя последовательно выдавать значения по запросу. Они объявляются с помощью function* и используют ключевое слово yield для возврата значений.
Основные особенности генераторов:
- Позволяют создавать ленивые последовательности данных.
- Управляют состоянием функции между вызовами.
- Могут использоваться для асинхронного программирования (вместе с
yieldи промисами).
Пример генератора, который выдаёт числа от 1 до 3:
function* numbers() {
yield 1;
yield 2;
yield 3;
}
const gen = numbers();
console.log(gen.next()); // { value: 1, done: false }
console.log(gen.next()); // { value: 2, done: false }
console.log(gen.next()); // { value: 3, done: false }
console.log(gen.next()); // { value: undefined, done: true }
Генераторы удобны для работы с потоками данных, итераторами и асинхронным кодом.