If Date.prototype is a Date, then we need additional special logic to ensure that freezing it actually makes it immutable. Otherwise, we have a hard to plug global communications channel. This was the reason why RegExp.prototype.compile had an [[Extensible]] check, and why we can remove the check if RegExp.prototype is no longer a RegExp.
On Thu, Jun 12, 2014 at 8:57 AM, Erik Arvidsson <[email protected]> wrote: > On Thu Jun 12 2014 at 11:28:12 AM, C. Scott Ananian <[email protected]> > wrote: > >> It would be slightly more "JavaScripty" to have >> Date.prototype.[[DateValue]] exist, and be set to the epoch or some >> such. >> > > +1 > > 1. Let date be the this value. > 2. If Type(date) is not Object then, throw a TypeError exception. > 3. If date does not have a [[DateValue]] internal slot, then let tv be NaN > 4. Else let tv be this time value. > 5. Return ToDateString(tv). > > Allen, what is the benefit to do `super.toString()` instead? > > > >> >> This problem actually seems to be an artifact of the way that >> [[Construct]] works in ES6 -- but the takeaway is that prototypes of a >> class are not themselves instances of the class. It's not surprising >> that methods of the class thus don't work on the prototype. I'd vote >> WONTFIX. >> --scott >> _______________________________________________ >> 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 > > -- Cheers, --MarkM
_______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

