Re: What type should .findAll return

It seems as though the spec intends to disallow host objects (i.e. DOM)
from fully acting like an Array, which is clearly the intent here. Perhaps
this is a time for "willful disobedience" and a correction in ES6?

Yehuda Katz
(ph) 718.877.1325


On Mon, Nov 14, 2011 at 10:46 AM, Rick Waldron <waldron.rick@gmail.com>wrote:

> [snip]
>>
>
>
>> ES5.1 clause 8.6.2 says:
>> >           "The value of the [[Class]] internal property of a host
>> object may be any String value except one of "Arguments", "Array",..."
>> > In other words, host object provides (such as a DOM implementation) are
>> not allowed to define new kinds of objects whose [[Class]] is Array.
>> > It's fine to want to define a new kind of host object that is
>> behaviorally very similar (but slight different) from instances of the
>> built-in Array constructor.  But characterizing such objects by saying they
>> have [[Class]]=="Array"
>> >  is a not meaningful from a ES5.1 specification perspective.
>>
>> I'm fine with any formulation, as long as it gives the correct behaviour
>> in cases like Array.prototype.concat and Array.isArray.
>>
>
> ES 5.1 15.4.3.2 Array.isArray()
> ...
> 2. If the value of the [[Class]] internal property of arg is "Array", then
> return true.
> ...
>
>  Considering Allen's previous comment, this is not going to be allowed.
>
> Rick
>
>
>>
>> Do you have suggestions for what to write?
>>
>> / Jonas
>
>
>

Received on Monday, 14 November 2011 23:14:23 UTC