You mean I won't be able to create an object with infinitely many properties anymore? ;-(
On 6 December 2013 14:35, Jason Orendorff <[email protected]> wrote: > It looks like [[OwnPropertyKeys]] is defined to return an iterator. > But the ordinary [[OwnPropertyKeys]] method produces the List of keys > to be iterated eagerly, and pretty every place that calls the method > immediately consumes the entire iterator. So there is no actual > laziness. > > This is weird. I think it would be clearer for [[OwnPropertyKeys]] to > return a List of PropertyKeys. > > Except for proxies, this doesn't change behavior. Here are the changes > needed to implement this: > > * In 9.1.12, the ordinary object [[OwnPropertyKeys]] method, change > step 3 to just say "Return keys." instead of "Return > CreateListIterator(keys)." > > * In 9.5.12, the Proxy [[OwnPropertyKeys]] method, treat the return > value as an iterable (not an iterator) and convert it to a List of > PropertyKeys using IteratorStep, IteratorValue, and ToPropertyKey. > Change the NOTE to describe the new invariant. > > * In 19.1.2.1 Object.assign, 19.1.2.8.1 GetOwnPropertyKeys, 19.1.2.14 > Object.keys, and 19.1.2.15.1 MixinProperties, drop the IteratorStep > boilerplate. > > * In 26.1.10 Reflect.ownKeys(), convert the result of calling > [[OwnPropertyKeys]] to an Array using CreateArrayFromList. > > Note that 7.3.10 SetIntegrityLevel and 7.3.11 TestIntegrityLevel > already assume that [[OwnPropertyKeys]] returns a List, as proposed. > > -j > _______________________________________________ > es-discuss mailing list > [email protected] > https://mail.mozilla.org/listinfo/es-discuss >
_______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

