I wrote up a quick guide to the terminology around ES6’s iteration-related concepts, plus some notes and other resources. Definitions An iterator is an object with a next method that returns { done, value } tuples. An iterable is an object which has an internal method, written in the current ES6 draft specs as obj[@@iterator](), that returns an iterator. A generator is a specific type of iterator