On Jan 30, 2012, at 9:05 AM, Wes Garland wrote: > On 30 January 2012 11:56, Allen Wirfs-Brock <al...@wirfs-brock.com> wrote: > this was part of what I was trying to get at in using the phrase "application > level semantics". The distinction really isn't very different from object > created via object literals (or any other standard mechanism). They clearly > are ECMAScript objects but because they have arbitrary properties defined by > the application they are not "standard objects". > > So, a good example here would be E4X objects? (Ignoring that E4X is a > standard, let's pretend they are engine vendor bolt-ons). They have > behaviours different from standard ES objects; the first one that pops to > mind is that is possible for two E4X objects to be == but not ===.
Ignoring the "standard issue" , I would classify E4X objects as foreign objects and probably as built-in foreign objects. Strictly speaking, E4X isn't just introducing foreign objects. Some of the semantics such as ==/=== would seem to require language changes that can't be accounted for by the extension points of the object model. For example, one or more new ECMAScript language types needs to be defined and the == algorithm in 11.9.3 should have to be modified. Allen
_______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss