Mark S. Miller wrote:
> 2009/2/10 Allen Wirfs-Brock <allen.wirfs-br...@microsoft.com>
>> #2 Why allow "Object" for  host objects that are required to conform to the
>> section 15.3 specification for Object. If they are distinguishable from
>> section 15.3 objects they should have [[Class]]=="Object".  An
>> implementation can use "HostObject" or something else. (Counter-argument:
>> Might confuse some programmers??? (seems weak))
>
> I like your #2 direction a lot. If it were feasible to require that host
> objects not even use [[Class]] "Object", I'd be in favor. However, I'm
> guessing that would differ too greatly from current browser behavior to have
> a chance.

Remember that, apart from algorithms that check whether [[Class]] is
"Function", "Date" or "RegExp", the only other observable effect of
[[Class]] is on the *default* implementation of toString(). A host object
can override toString() anyway.

A *reliable* way of distinguishing native from host objects, say an
Object.isNativeObject(o) method, might actually be useful for secure
subset runtimes, but one that can be overridden is not.

-- 
David-Sarah Hopwood ⚥

_______________________________________________
Es-discuss mailing list
Es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to