Function apply and call (was RE: Bait taken: Arguments about arguments)
Allen.Wirfs-Brock at microsoft.com
Thu Jan 15 20:08:27 PST 2009
>From: es3.x-discuss-bounces at mozilla.org [mailto:es3.x-discuss-
>bounces at mozilla.org] On Behalf Of David-Sarah Hopwood
> array length invariant...another ES3.1 bug]
>Yes, I think you're right here. Also,
> - defining an array index property past the current length would
> violate the invariant.
> - host objects might have similar invariants that are supposed to
> be enforced by overriding [[Get]] or [[ThrowingPut]], and that
> Object.defineProperty would bypass.
>(The bug seems to be in [[DefineOwnProperty]]. I'm not sure how to fix
Array instances needs to have its own version of [[DefineOwnProperty]] to go along with its [[ThrowingPut]].
>> Strictly speaking step 7 needs to compose the array elements into a
>> List as that is what [[Call]] takes as an argument
>If this is wrong then so is every other use of [[Call]] in the spec,
>since none of them *explicitly* say that they construct a List.
Well, not quite every use of [[Call]] but a lot of them...that why I said "strictly speaking". I'd classify this as a cosmetic bug.
More information about the Es-discuss