On Sep 27, 2009, at 10:41 AM, David-Sarah Hopwood wrote:

Brendan Eich wrote:
On Sep 26, 2009, at 6:08 PM, Maciej Stachowiak wrote:

This may provide a way to implement some of these behaviors in pure
ECMAScript. The current proposal does allow [[Construct]] without
[[Call]], but not [[Call]] and [[Construct]] that both exist but with
different behavior.

Date needs the latter.

That can already be done in ES5. As I've previously suggested:

function Date(yearOrValue, month, date, hours, minutes, seconds, ms) {
   "use strict";
   if (this === undefined) {
     return TimeToString(CurrentTime());
   }
   // constructor behaviour
   ...
 }

Of course, a variation on "the idiom".

This is similar to what many implementations do too, rather than the implementation providing analogues of [[Call]] and [[Construct]] internal method on a non-function Date object. It works for Boolean, Number, String, and RegExp too.

But it is just a bit unsightly!

/be

_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to