Какие разновидности функций присутствуют в JavaScript и в чём различия между ними?

Генераторы в JavaScript — это функции, которые могут приостанавливать своё выполнение и возвращать промежуточные значения с помощью ключевого слова yield.

Короткий ответ

Что ответить на собеседовании

Генераторы в JavaScript — это функции, которые могут приостанавливать своё выполнение и возвращать промежуточные значения с помощью ключевого слова yield. В отличие от обычных функций, которые выполняются полностью и возвращают единственное значение, генераторы позволяют создавать итераторы с ленивой генерацией значений.

Подробный разбор

Ответ с пояснениями

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

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

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку