Назад к вопросам
Middle
4
Как работают генераторы в JavaScript, в отличие от обычных функций?
Компании, где спрашивали
МВидео/эльдорадо
Ответ от нейросети
sobes.tech AI
Генераторы в JavaScript — это функции, которые могут приостанавливать своё выполнение и возвращать промежуточные значения с помощью ключевого слова yield. В отличие от обычных функций, которые выполняются полностью и возвращают единственное значение, генераторы позволяют создавать итераторы с ленивой генерацией значений.
Пример генератора:
function* countUpTo(max) {
let count = 1;
while (count <= max) {
yield count; // приостанавливает выполнение и возвращает значение
count++;
}
}
const counter = countUpTo(3);
console.log(counter.next().value); // 1
console.log(counter.next().value); // 2
console.log(counter.next().value); // 3
console.log(counter.next().done); // true
Таким образом, генераторы удобны для работы с последовательностями данных, которые не нужно вычислять сразу целиком.