[Harmony Proxies] Proposal: Property fixing
Mark S. Miller
erights at google.com
Thu May 12 17:11:23 PDT 2011
On Thu, May 12, 2011 at 4:20 PM, Cameron McCormack <cam at mcc.id.au> wrote:
> Tom Van Cutsem:
> > invariants that are enforced:
> > - unconfigurable [[Class]] (Object or Function, respectively)
> Web IDL requires [[Class]] to take on values other than these two, for
> example it should be "HTMLDivElement" for an HTMLDivElement object. I
> have a feeling that the web requires this, as opposed to just having a
> custom toString function.
> brings up some libraries that use Object.prototype.toString on DOM
> Is it palatable to have proxies control [[Class]] or is there another
> way we can help proxies over this hurdle?
Tom and I actually proposed this at an earlier EcmaScript meeting, for
precisely this reason. Discussion revealed difficulties that led to
increasing complexity, due to the use of [[Class]] as an internal nominal
type test within the specification machinery. For example, all the Date
methods implicitly test that their this.[[Class]] is "Date":
> a TypeError exception is thrown if the this value is not an
> object for which the value of the [[Class]] internal property is
Do we want a proxy to be able to pass this test? If so, do we want a proxy
to be able to provide the internal properties that the Date methods access?
At the time at least, the proposal for [[Class]] control went down in flames
as such questions accumulated. In light of Allen's recent thinking about
meta-objects and reflection, we can certainly revisit this, but please not
at the May meeting ;).
> Cameron McCormack ≝ http://mcc.id.au/
> es-discuss mailing list
> es-discuss at mozilla.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the es-discuss