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

Reply via email to