On Sun, Sep 2, 2012 at 11:13 AM, David Bruant <[email protected]> wrote: > Hi, > > The enumerate (for..in loops) and iterate (for..of loops) traps have > inconsistent signatures. The former needs an array of strings to be > returns, the latter an iterator. > > I would tend to be in favor of both returning an iterator to avoid > allocating, filling & freeing memory in case of recurrent for..in/of > loops on the object. It's also somewhat more aligned with the idea of a > loop: if the loop contains a 'break' statement, in the array case, some > memory is left unused, but in the iterator case, the iterator just stops > being called if control gets out of the loop.
The difference in signatures is intentional, though I don't know how required it is. > By the way, what's the difference between an iterator and a generator? > Would it make sense that both traps return a generator rather than an > iterator? Why? A generator is a special kind of function that, when called, returns an iterator over its own yield values. ~TJ _______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

