<div dir="ltr">The ES6 iterator/iterable story has been criticised more than once, by a number of people. Too lazy to dig up all those threads, but if you search es-discuss for iterable and iterator you will find it a reoccurring scheme. AFAIK, this thread contained the first such discussion: <a href="https://mail.mozilla.org/pipermail/es-discuss/2013-March/029004.html">https://mail.mozilla.org/pipermail/es-discuss/2013-March/029004.html</a><div><br></div><div>The short story from my POV is: the notion of iterators vs. iterables in ES6 makes no coherent sense, but many people want their implicit conversions despite any smell, and this basically provides (a user-definable) one from anything to an iterator.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On 26 July 2016 at 04:16, Allen Wirfs-Brock <span dir="ltr"><<a href="mailto:allen@wirfs-brock.com" target="_blank">allen@wirfs-brock.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
> On Jul 25, 2016, at 4:38 PM, John Lenz <<a href="mailto:concavelenz@gmail.com">concavelenz@gmail.com</a>> wrote:<br>
><br>
> Yes, but at the cost of being able to reason / declare what kind of object is actually required.  But, I'm sure there is nothing that can be changed here.<br>
<br>
</span>The kind of object that is required is one that implements the Iterable interface (i.e., has a Symbol.interable method that returns an object that implements the Iterator interface).  What is unclear about that?<br>
<div class="HOEnZb"><div class="h5">_______________________________________________<br>
es-discuss mailing list<br>
<a href="mailto:es-discuss@mozilla.org">es-discuss@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/es-discuss" rel="noreferrer" target="_blank">https://mail.mozilla.org/listinfo/es-discuss</a><br>
</div></div></blockquote></div><br></div>