Array length property wrap-around [nitpicking]

David-Sarah Hopwood david.hopwood at
Thu Nov 20 00:14:24 PST 2008

I wrote:
> ToArrayLength(V)
>  1. Call ToNumber(V).
>  2. If Result(1) is not a nonnegative integer less than or equal to
>     ArrayLengthLimit, then throw a RangeError.

"... then throw a RangeError exception."

> The resulting 'concat', 'push', and 'unshift' methods can throw a
> RangeError because the length of the array they create would be
> greater than ArrayLengthLimit; the others (excluding 'splice') can
> only throw a RangeError when they operate on an object that is not
> a native array and has an invalid length property.

... will only throw a RangeError from ToArrayLength ...
(It is possible that something else they call may throw a RangeError.)

David-Sarah Hopwood

More information about the Es-discuss mailing list