On Nov 13, 2014, at 5:02 PM, Brendan Eich wrote: > Allen Wirfs-Brock wrote: >> We might redefine Array.isArray to be based upon testing for >> @@isConcatSpreadable but that potentially would give different results for >> legacy uses that did __proto__ hacking such as I mentioned in my previous >> mote. > > How about we turn the @@ property into @@isArrayLike or @@isStronglyArrayLike > if you insist.
This could be done, but that property could pre-exist on Array prototype. If it did, it would change the behavior (probably including the JSON.stringify behavior) of existing code that puts Array.prototype on its [[Prototype]] chain. The definition of Array.isArray(obj) would be roughly: 1. Let isArray be ToBoolean(Get(obj, @@isArrayLike)); 2. If isArray is true, then return true; 3. If obj is an exotic array object, then return true; 4. return false Allen _______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

