This thread's original question is answered by the Dict API (
https://github.com/rwaldron/tc39-notes/blob/master/es6/2012-11/nov-29.md#conclusionresolution-5
).

(more inline below)


On Sat, Mar 15, 2014 at 6:19 PM, David Bruant <[email protected]> wrote:

>  Le 15/03/2014 22:51, C. Scott Ananian a écrit :
>
> It would be nicer to add an Object.entries() method that would return that
> iterator.
>
> Object.prototype.entries or Object.entries(obj)?
>
>  That would be less error prone than adding a default iterator to every
> object.
>
> The world has survived for-in and its weirdo unchangeable
> enumerable+proto-climbing rules and that was error prone.
> Now we can control enumerability of things that are added to the prototype
> and the proposed default-but-still-overridable semantics is to iterate only
> over own properties. It's less clear to me that the proposed semantics is
> error prone.
>
> The world has also evolved to a point where tooling can be written to warn
> about non-overridden @@iterable property for a given "class" (I feel like
> it is something TypeScript could do at least).
>
> Even if error prone, I'd be interested to hear about arguments in the
> sense that the risk outweighs the benefits.
>

An @@iterator on Object.prototype would result in Function, Boolean, Date,
Error (and friends), and RegExp, having it in their prototype chain--none of
these objects have anything to produce as an iterator value.

Rick
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to