Function.prototype, [[Call]] and [[Construct]]
Juriy Zaytsev
kangax.dev at gmail.com
Mon Nov 9 21:17:21 PST 2009
On Nov 10, 2009, at 12:10 AM, Garrett Smith wrote:
> On Mon, Nov 9, 2009 at 8:05 PM, Juriy Zaytsev <kangax.dev at gmail.com>
> wrote:
>> On Nov 9, 2009, at 6:50 PM, Garrett Smith wrote:
>>
>>> [[Construct]] of Function.prototype is not standardized.
>>>
>
> [...]
>
>>
>> If you look into Section 15 — Native ECMAScript Objects, you'll see
>> this
>> rather clear explanation:
>>
>> "[...] None of the built-in functions described in this section shall
>> implement the internal [[Construct]] method unless otherwise
>> specified in
>> the description of a particular function. None of the built-in
>> functions
>> described in this section shall initially have a prototype property
>> unless
>> otherwise specified in the description of a particular function.
>> [...]"
[...]
>
> So Function.prototype should not implement [[Construct]].
As far as I can see, no, it shouldn't.
WebKit (nightly) and Opera (10) conform here, throwing TypeError on
`new Function.prototype`, but Firefox (at least 3.5) erroneously
creates an object.
>
> Garrett
--
kangax
More information about the es-discuss
mailing list