Sobes.tech
Назад к вопросам
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

Таким образом, генераторы удобны для работы с последовательностями данных, которые не нужно вычислять сразу целиком.