Источник: WebForMyself.com С появлением ES6 итераторы и генераторы были официально добавлены в JavaScript. Итераторы позволяют перебирать любой объект, соответствующий спецификации. В первом разделе мы увидим, как использовать итераторы и выполнить итерацию любого объекта. Вторая часть этой статьи полностью посвящена генераторам: что это такое, как их использовать и в каких ситуациях они могут быть полезны. Я люблю разбираться в том, как все работает под капотом: в предыдущей серии блогов я объяснил, как JavaScript работает в браузере...
Итератор нужен для доступа к объектам без раскрытия внутреннего предоставления. Существует два вида итераторов: внешний,внутренний. Внешний итератор — когда процессом обхода управляет клиент, с помощью магического метода __next__. Внутренний итератор — принимает callback функции и уведомляет клиента о получение следующего элемента. Сам итератор это объект, который возвращает свои элементы по одному разу. В Python это любой объект у которого есть магический метод __next__. Метод возвращает следующий элемент, если он существует, в другом случаи вернет StopIteration...