WebIDL attribute reflection

Boris Zbarsky bzbarsky at mozilla.com
Sun Dec 30 22:17:09 PST 2012


On 12/30/12 10:31 AM, Brandon Benvie wrote:
> The problem I see with the accessor model is that it's attempting to use
> what's now being referred to in recent ES6 specs as "Ordinary" object
> semantics, when the functionality is absolutely of exotic functions.

Can you please define "exotic functions"?  How is the innerHTML getter 
"exotic", exactly?

> The internal functions are no longer magical, as in completely outside the
> bounds of what's possible in ECMAScript, but they're trying to be
> shoehorned to an even lower level: implementation as completely plain
> objects.

Which internal functions are we talking about?

> Ordinary objects only have accessors to describe "interesting"
> non-data properties.

Right, which is many (but not all) properties in the DOM.

> But exotic objects, even limited to ones entirely
> specified in ES6, have interesting mechanics that cannot be replicated
> by ordinary objects and are better described with those mechanics than
> trying to shoehorn them in.

I'm just missing the point here entirely, I think.  Can you explain?

> A comparable thing would be attempting to explain Array instance lengths
> using a (observable) accessor property with a getter and setter on the
> prototype.

As opposed to the action-at-a-distance that's in the spec now?  It could 
be, and might be more clear, yeah...

-Boris


More information about the es-discuss mailing list