Программирование часто связано с обработкой массивов данных. Во многих языках есть инструменты позволяющие создавать коллекции данных, которые реализованы по разному но используются по одному и тому же принципу. Эти принципы описаны в JavaScript двумя протоколами – iterator и iterable. Вы узнаете как реализовываются эти протоколы и как использовать функции генераторы function