> -----Original Message----- > From: Mark S. Miller [mailto:[email protected]] > Sent: Monday, July 19, 2010 2:02 PM > > >> 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. >
Ok, I think we generally agree. "host object" as used in the ES5 spec. in essentially all cases means "not native object". Garrett's isHostObject test would arguably almost be valid if used within a perfectly conforming and unextended ES5 implementation. However, a conforming implementation is allowed to "provide additional types, values, objects,..." and such extensions might include the use of new [[Class]] values. For example, the JSON object is semantically a perfectly normal native object but has a distinct [[Class]] value. If an implementation included a different but similar extension isHostObject would classify it as a "host object". Whether or not you are happy with that result probably depends upon your isHostObject use case. The starting point of this discussion seems to be the desire to find a reliable way to discriminate "host objects". ES5 wasn't intentionally trying to provide such a mechanism and I don't believe that it accidently did so. Allen _______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

