Creating and consuming custom iterators

medikoo medikoo+mozilla.org at medikoo.com
Wed Aug 28 00:29:56 PDT 2013


In ES5 there is a concept of array-like, which while probably too relaxed is
really friendly for developers, as we can easily create custom array-like
abstractions and make it consumable to any generic functions, methods that
process array-likes.

In ES6 there's more advanced (and definitely better) iterators concept,
while I'm pretty excited by it, If read spec correctly I see it's quite
limited and not that usable.

1 There's no way I can create custom iterator abstraction (How can I can
define MyCustomIterator.prototype[@@iterator] method?).

2. There's no straightforward way to consume iterators in generic way, e.g.
I want to write function that works in similar way as Set constructor, and
accepts any iterator implementation. I don't have a means to call
iterator[@@iterator] method.

Please correct me if I'm wrong, but if it's the case, I think it's really
important to open that.

Maybe there should be Reflect.getIterator(obj) and
Reflect.defineIterator(obj, getIterator) for that?




--
View this message in context: http://mozilla.6506.n7.nabble.com/Creating-and-consuming-custom-iterators-tp289598.html
Sent from the Mozilla - ECMAScript 4 discussion mailing list archive at Nabble.com.


More information about the es-discuss mailing list