Draft of Function.prototype.bind.

Brendan Eich brendan at mozilla.com
Mon Nov 3 22:07:52 PST 2008


On Nov 3, 2008, at 8:01 PM, David-Sarah Hopwood wrote:

> Brendan Eich wrote:
>> On Nov 3, 2008, at 6:50 PM, David-Sarah Hopwood wrote:
>>
>>> That is, native objects that implement [[Call]] must be functions.
>>
>> No, see 16, second list, second bullet:
>>
>> "An implementation may provide additional types, values, objects,
>> properties, and functions beyond those described in this  
>> specification.
>> This may cause constructs (such as looking up a variable in the  
>> global
>> scope) to have implementation-defined behaviour instead of throwing  
>> an
>> error (such as ReferenceError)."
>
> So what does "Objects that implement this internal method are called
> functions." in the description of [[Call]] mean, then? If it is not
> true for native objects (which is what the section claims to be  
> describing),
> then it is simply incorrect.

The ECMA-262 spec has many flaws (fewer than a lot of standard  
specifications I can name, but too many, still). Thanks for reminding  
me about this one. It's mis-informative prose. Try not to bend the  
world around it.

/be


More information about the Es-discuss mailing list