On Mon, Jul 19, 2010 at 2:35 PM, Allen Wirfs-Brock <
allen.wirfs-br...@microsoft.com> wrote:

> > -----Original Message-----
> > From: Mark S. Miller [mailto:erig...@google.com]
> > 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.
>

I agree. FWIW, I am happy with that result. By the definition of ES5 "native
object", such an object is not an *ES5* native object, since it has a
[[Class]] value not defined by the ES5 spec. By the note on the host object
definition, it is therefore (to ES5) a host object.

Perhaps Garrett's function should be renamed isES5HostObject for clarity.
With that new name, I would feel comfortable using and recommending use of
that function.


>
> 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.
>

I agree that we did not intend to provide such a discrimination mechanism.
But I do think we accidentally did so.



>
> Allen
>



-- 
    Cheers,
    --MarkM
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to