On Feb 11, 2015, at 8:30 AM, Allen Wirfs-Brock wrote:
> TC39 members were aware that changing to using ordinary objects as the
> prototypes of the legacy built-ins was a breaking change (for example, it
> changes the prototypes {}.toString value). What we agreed to do was to make
> that change but to undo it for individual legacy built-ins if we discovered
> that it would cause actual significant web breakage. We discovered that this
> was the case for Function.prototype and so it remains a function instances in
> the ES6 spec
>
> What we need for the other legacy built-ins is real evidence that there is a
> problem, rather than speculation. Let us know if you are aware of a
> significant Web site or widely used framework that depends upon
> String.prototype being a String instance or any other similar dependency.
>
So:
> @awbjs example:
>
> a.reduce((c,v)=>{if (!~c.indexOf(v)) return c. concat(v)else return c},
> Array.prototype)
>
> Original Tweet: https://twitter.com/getify/status/568440928433602560
>
and
> @awbjs @getify I'd say specially for `.concat()` is quite common pattern so
> instead of `[].concat()` few of us go `Array.prototype.concat`
>
> Original Tweet: https://twitter.com/WebReflection/status/568443370089123842
This looks like the sort of evidence we asked for.
None of the fixes I have thought of are as simple as simply saying that
Array.prototype is an Array exotic object.
So unless, I hear an uproar in the next few hours, I'm going to change the ES6
draft to say that.
Allen
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss