On Jan 28, 2012, at 8:21 AM, Allen Wirfs-Brock wrote:

> 
> On Jan 27, 2012, at 10:15 PM, John-David Dalton wrote:
> 
>> I noticed in the ES6 draft it states that host objects *do not* have
>> the [[NativeBrand]] internal property.
>> I think "do not have" should be reworded to "are not required to have".
>> This would allow existing inferences like
>> `{}.toString.call(window.opera) == '[object Opera]'`.
>> 
> 
> I probably need to be more explicit about host objects and add another step 
> just before step 5
> 
> If O is a host object, let tag be an implementation defined string value. The 
> value may not be "Array", "Boolean", "Date", "Error", "Function", "JSON", 
> "Math", "Number", "Object", "RegExp", and "String".
> 
> Also, the definition of Host Object needs to be tighten up to make it clear 
> that an object is only a host object if it has some "magical" behavior. 
> 

Yes, it's an old subtle terminological topic which is required to be mentioned 
in the spec, I think it would be good.

In fact, if an object is completely conforming with the spec, it cannot be 
distinguished from native objects -- regardless in which language it's written 
(in JS itself or in a lower language).

Moreover, many "host" objects are implemented in JS itself -- e.g. some 
standard libraries as in Node.js. I called them inefficiently as "native-host" 
objects.

But from this viewpoint -- is this algorithm step is correct? I.e. window.opera 
being as a native-host can nevertheless have as its [[NativeBrand]] values of 
"Array", "Object", etc?

And a host object then becomes as "an object provided by a host environment and 
has semantic differentiations from this specification".

(the only thing it's needed to consider is not to make it even more confused or 
complicated).

Dmitry

> Finally, window.opera is really just a normal object it could use my proposed 
> private name based mechanism to set its toString tag.
> 
> Allen
> _______________________________________________
> es-discuss mailing list
> [email protected]
> https://mail.mozilla.org/listinfo/es-discuss

_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to