2014-11-17 18:30 GMT+01:00 Allen Wirfs-Brock <al...@wirfs-brock.com>:
> > But probing through the proxy as has been proposed is a terrible violation > of the MOP API boundary and isn't generalizable to other built-ins that are > dependent upon internal state. While a null handler proxy on a direct > instance of Array would work under that design, a comparable Map.isMap or > Promise.isPromise method would not. Rather than a one-off hack I think we > should use a new pattern that is generalizable: > If we can find consensus on this much more general pattern of type-testing by using a symbol on the constructor, I'm all for it. +1! I also think we don't want to special-case Proxies in the proposed type-testing algorithm. That said, if we cannot come to a consensus on this more generic form of type-testing, I would still defend the position that Array.isArray merits an exception (compared to Map.isMap/Promise.isPromise etc.) *precisely because* Arrays were carefully defined not to depend on any special instance state. In this scenario, repurposing the @@isConcatSpreadable symbol seems like the most obvious thing to do (it currently feels terribly ad-hoc, making it something more generic such as @@isArrayLike makes more sense to me) Cheers, Tom
_______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss