[[Class]] Property of Host Object

Mark S. Miller erights at google.com
Mon Jul 19 14:02:27 PDT 2010

On Mon, Jul 19, 2010 at 1:49 PM, Allen Wirfs-Brock <
Allen.Wirfs-Brock at microsoft.com> wrote:

> > -----Original Message-----
> > From: Mark S. Miller [mailto:erights at google.com]
> ...
> > Is the following one of those cases:
> >
> > > The value of the [[Class]] internal property of a host object
> > > may be any String value except one of "Arguments", "Array",
> > > "Boolean", "Date", "Error", "Function", "JSON", "Math", "Number",
> > > "Object", "RegExp", and "String"
> >
> Yes. As you said in an earlier message, the intent was that the host should
> environment should not violate specification of the nominal "types" used by
> the specification.  But certainly, a host environment  could produce such
> values and even management them differently as long as it doesn't violate
> any the semantics for that "type" that appear in the ES5 spec.
> > If so, then I think we may simply have a term rotation. Everytime I say
> "host
> > object", and AFAICT every time the spec says "host object" other than the
> > definition (4.3.8), both I and it mean what you refer to above as a
> "non-native
> > host object". Also, by your clarification above, a "native host object"
> seems
> > indistinguishable from any other "native object", so I'm not sure what
> purpose
> > the distinction has.
> >
> Yes, I agree.  I think the main "bug"  in this regard in the spec. in that
> the definition in 4.3.8 does not clarify this distinction. But note that
> 4.3.6 is quite clear that a native object is /any/ object whose semantics
> are fully defined by the ES5 specification and the note to 4.3.8 says that
> any object that is not native (ie whose semantics are not fully defined by
> the ES5 specification) is a host object.  The only host objects that the
> spec. needs to explicitly talk about are host objects that are not native
> objects.
> > In any case, we clearly have a disagreement about our memory of what we
> took
> > these terms to mean. Anyone else who was there, care to weigh in?
> >
> Do we??  What do you think "host object" means?

Objects that are not native objects. I.e., the categories are disjoint and
Garrett's isHostObject method is correct.

> Allen
> _______________________________________________
> es5-discuss mailing list
> es5-discuss at mozilla.org
> https://mail.mozilla.org/listinfo/es5-discuss

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20100719/a8d60169/attachment.html>

More information about the es-discuss mailing list