for-of loop

# Mark Volkmann (9 years ago)

I understand Arrays in ES 2015 are both iterable (have Symbol.iterator method) and iterators (have next method). Suppose I create a custom object foo that is iterable, but not an iterator because the Symbol.iterator method returns a different object bar. According to the spec, should I be able to use either foo or bar after "of" in a for-of loop?


R. Mark Volkmann Object Computing, Inc.

# Alexander Jones (9 years ago)

Arrays are not iterators - they have no next method. 'for-of works on iterables.

# Mark Volkmann (9 years ago)

Ah, yes. I was getting that confused with what is returned by the Array methods entries, keys, and values which is an object that is both iterable and an iterator. Thanks for clarifying that the value after "of" in a for-of loop must be an iterable, not an iterator.