Symbol.iterator
Symbol.iterator - специальный встроенный
Например, у нас есть объект
- Когда цикл
- Дальше
- Когда
- Результат вызова
#перебираемые_объекты #symbol_iterator
Symbol.iterator - специальный встроенный
Symbol , который позволяет сделать объект итерируемым.Например, у нас есть объект
range, который представляет собой диапазон чисел. Чтобы сделать range итерируемым (и позволить for..of работать с ним), нам нужно добавить в объект метод с именем Symbol.iterator.- Когда цикл
for..of запускается, он вызывает этот метод один раз (или выдаёт ошибку, если метод не найден). Этот метод должен вернуть итератор – объект с методом next.- Дальше
for..of работает только с этим возвращённым объектом.- Когда
for..of хочет получить следующее значение, он вызывает метод next() этого объекта.- Результат вызова
next() должен иметь вид {done: Boolean, value: any}, где done=true означает, что итерация закончена, в противном случае value содержит очередное значение.#перебираемые_объекты #symbol_iterator
👍5