Draft of Function.prototype.bind.

David-Sarah Hopwood david.hopwood at industrial-designers.co.uk
Mon Nov 10 18:29:56 PST 2008


Mark S. Miller wrote:
> On Mon, Nov 10, 2008 at 4:48 PM, Waldemar Horwat <waldemar at google.com> wrote:
>> Mark S. Miller wrote:
>>
>>>        11. If the [[Class]] property of /G/ is *"Function"*, then
>>>               1. Get the *length* property of /G/.
>>>               2. Let /L/ be Result(11a) minus the length of /A/.
>>>
>> What does "minus" mean here?  Result(11a) could be anything.
> 
> Since this is conditional on the [[Class]] of G being "Function", doesn't
> that mean the length is created as a non-configurable readonly number
> property when G is created?

See my other reply. Yes for built-in objects; no for host objects, because
of:

# The value of the [[Class]] property of a host object may be any value,
# even a value used by a built-in object for its [[Class]] property.


In general I think that the internal properties of host objects are
hopelessly underspecified. (That's partly why Jacaranda, ADsafe, and
Cajita have to depend on no host objects being reachable from subset
code.)

> Step 7 of 13.2 says:
> 
> 7.    Set the length property of F to the number of formal parameters
> specified in FormalParameterList. If no parameters are specified, set the
> length property of F to 0. This property is given attributes as specified in
> 15.3.5.1.

The argument also has to depend on 15.3.4.5 steps 11c, 12, and 13.

-- 
David-Sarah Hopwood


More information about the Es-discuss mailing list