Встречается на собеседованиях • сегодня

Можно ли создать объект который умеет работать с for…of

Да, можно. Для этого объект должен реализовать итератор, добавив метод Symbol.iterator, который возвращает объект с методом next(). next() должен возвращать объект с полями value (текущее значение) и done (флаг завершения).

Пример:

javascript
const range = {
  from: 1,
  to: 5,
  [Symbol.iterator]() {
    let current = this.from;
    return {
      next: () => ({
        value: current <= this.to ? current++ : undefined,
        done: current > this.to + 1
      })
    };
  }
};

for (const num of range) {
  console.log(num); // 1, 2, 3, 4, 5
}
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы