[[Class]] Property of Host Object
Mark S. Miller
erights at google.com
Sun Jul 18 21:28:24 PDT 2010
On Sun, Jul 18, 2010 at 5:58 PM, Allen Wirfs-Brock <
Allen.Wirfs-Brock at microsoft.com> wrote:
> So essentially, they are two kinds of host objects: native host objects
> and non-native host objects. The spec. doesn’t explicitly talk about native
> host objects because their hostness is semantically irrelevant if they are
> also native. Hence, when the spec. talks about “host objects” in most cases
> it is really talking about non-native host objects in order to impose
> specific sematic constraints upon them. I believe that in most cases in the
> ES5 spec, “host object” should be read as meaning “non-native host object”.
> 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"
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.
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?
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the es-discuss