Что такое протокол итератора (Iterator Protocol) и `Symbol.iterator`?
УглублённыйМассивы и коллекцииПеременные и типы данных
- Iterable Protocol — объект является итерируемым, если у него есть метод
[Symbol.iterator](), возвращающий итератор
- Iterator Protocol — объект является итератором, если у него есть метод
next(), возвращающий { value, done }
- Встроенные итерируемые объекты:
Array, String, Map, Set, TypedArray, arguments, NodeList
- Потребители итераторов:
for...of, spread ..., деструктуризация, Array.from(), Promise.all(), yield*