Allen Wirfs-Brock (2014-03-03T18:08:51.000Z)
domenic at domenicdenicola.com (2014-03-06T23:07:26.794Z)
7.4.2 IsIterable ( obj ) The abstract operation IsIterable with argument obj performs the following steps: 1. If Type(obj) is not Object, then return undefined. 2. Let iteratorGetter be Get(obj, @@Iterator). 3. Return iteratorGetter. --- the above is the test that Array.from uses An Iterable is an object that has a Symbol.iterator keyed property whose value is not undefined. A well-fromed Iterable is one whose @@iterator method is a function that returns an object that supports the Iterator interface. If an iterable is not well-formed then using it as such is likely to result in runtime exceptions or buggy behavior.