Decoupling [ ] and Property Access and the DOM (Was: Why not NodeList#forEach :\?)

Brendan Eich brendan at mozilla.org
Tue Jun 19 11:05:44 PDT 2012


Erik Arvidsson wrote:
> On Tue, Jun 19, 2012 at 10:45 AM, Allen Wirfs-Brock
> <allen at wirfs-brock.com>  wrote:
>> There are various differences between @elementGet and @elementSet and proxy get/set handlers.  One is that the index value isn't coerced to a string before being passed to @elementGet/@elementSet
>
> That's a good point.
>
> For expressing the DOM APIs in JS this feature is not needed so I
> still stand by my point; If you are using proxies for DOM then you do
> not need to use @elementGet and @elementSet (for the current DOM
> APIs).

But you don't need proxies if you don't have lazy reification of 
properties, and IIUC @elemnet[GS]et are enough to make both frames.foo 
and frames['foo'] work, along with frames[0] which might alias frames.foo.

IOW, proxies and @elementFoo are independent and can be used together or 
not. And @elementFoo can be used for string-named property identifiers 
as well as indexes. No?

/be

>
> @elementGet and @elementSet are still useful for things like better
> collection APIs.
>


More information about the es-discuss mailing list