Overriding Map/etc with get/set hooks?
andrea.giammarchi at gmail.com
Wed May 22 11:00:15 PDT 2013
I believe Tab is asking for something like:
`var MyNodeList = new ArrayType(EntryType, length);`
where `EntryType` is his own type and the result is an array like
collection or map.
At least, for what I understood, looks like he's asking for JS CTypes,
something rumored a while ago but never heard about again (while asm.js has
been introduced/implemented already)
If I am mistaking, apologies.
On Wed, May 22, 2013 at 10:35 AM, David Bruant <bruant.d at gmail.com> wrote:
> Le 22/05/2013 19:02, Tab Atkins Jr. a écrit :
> On Wed, May 22, 2013 at 9:44 AM, Brendan Eich <brendan at mozilla.com>
>>> NodeList extends Array now but is not literally Array plus hooks. Same
>>> for Map and the quite different thing you're specifying.
>> NodeList is an interesting case, actually. It's an Array, but with a
>> type restriction.
> I'm a bit lost here. What exactly do you label as "Array"? What is a "type
> For sure, Array.isArray(anyNodeList) === false
> So the ES spec seems to disagree with the statement "a NodeList is an
> Live NodeLists even have basically the same linkage
>> behavior I'm talking about.
>> What do I need to do to get a Map like that?
> Proxy is the answer to your question (FWIW I've made a proxy-based
> implementation of arrays a while back ). But both cases can't really be
> From a dev perspective, the interface of an array is its own properties
> (numerical up to 2^32-1, connection with the .length property...) and the
> interface of a map is the methods/accessors on the prototype ([[MapData]]
> being "just" a spec tool that could be replaced by anything else as long as
> prototype methods were behaving observably the same)
> If your object can have *any* property name, that can shadow the
> get/set/has property you need to interact with your map. I'm not sure what
> the solution is, but a proxy doesn't sound like a good idea at least
> because of the shadowing issue.
>  https://github.com/**DavidBruant/HarmonyProxyLab/**
> es-discuss mailing list
> es-discuss at mozilla.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the es-discuss