On Thu, Jun 19, 2014 at 8:16 PM, Allen Wirfs-Brock <al...@wirfs-brock.com> wrote:
> > On Jun 19, 2014, at 10:46 AM, C. Scott Ananian wrote: > > While we're on the topic, shall we discuss `valueOf()`? Should it get the > same treatment? > --scott > > > I don't think so. To me, toString is a special case because it is > explicitly applied so often, particularly for debugging purposes. > > But valueOf is primarily invoked for implicit conversions in expressions. > > Like I described earlier in this thread, TC39's assumption when it agreed > to this ES design change was that the web did not generally depend upon > using these existing ES3 generation (or earlier) prototypes as instance > objects. In the case where we know that wasn't true (Function.prototype) > we intentionally did not change the prototype to being a non-instance > object. We also agreed if we discovered other such dependencies we would > change those prototypes back to being instance objects. > > Discovering that one of these prototypes objects were being routinely used > in expression contexts where valueOf was being implicitly applied would be > evidence that that prototype needed to be handled in the legacy manner. > But, we don't have any new evidence of that being the case. Until there is > some evidence, there isn't any reason to second guess the original analysis > and TC39's decision. > Ok, we'll try this in Nightly for Date.prototype and see if the assumption holds. If it does, we'll continue with the rest. I don't really know if Date.prototype is a good canary, but it's what I have a mostly-finished patch for, and it doesn't seem to make too much of a difference.
_______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss