Matthew Robb wrote:
What if the semantics were fixed specifically with egal operators?
if ( typeof null is "null" )
Not sure what you're saying here -- was your message cut off?
We're probably not adding 'is' and 'isnt' operators with restricted
productions (no Line Terminator to left). Object.sameValue as
polyfillable API is enough. But this doesn't change a thing about ==,
=== and typeof.
/be
On Sat, Sep 29, 2012 at 7:12 PM, Brendan Eich <[email protected]
<mailto:[email protected]>> wrote:
You may have missed the 1JS and typeof null messages. We cannot
remove "function" or make any other such backward-incompatible
change. But we could add new results.
The problem with instanceof is that it fails cross frame.
The invariant two-way implication relating == and === that I gave
is important, and for value objects such as int64 and uint64 I
argue it implies new typeof results.
/be
On Sep 29, 2012, at 3:46 PM, "Uli Riehm" <[email protected]
<mailto:[email protected]>> wrote:
> I think typeof should be simplified, focusing more on
instanceof: typeof should only return "undefined", "string",
"number", "boolean" and "object".
>
> var fn = function () { };
> fn instanceof Function // true
> fn instanceof Object // true
>
> Because typeof returns a string it is never true for two
different types, so instanceof is more detailed. Problems would be
that Null, NotANumber, Infinity habe to be functions, so that a
null can also be instanceof an Object and a NaN instanceof
NotANumber Number Object. Using an Int64 Function where the
prototype is Number, we could also have an instanceof Int64 Number
Object.
>
> I'm also tweaking around instanceof in my article on
http://metadea.de/V/default.aspx#V_construct_and_your_class ...
please see how I'm creating 'class' functions, having real OOP in
jS, using instanceof, featuring reflection using a V.Construction
Object class info (that is also used for prototyping a base
function) and an the implicit instanceOf and constructionOf
functions. Without hacking around __proto__ .
>
> However I'd like to say that in the part of "Why javaScript
typeof operator should be deprecated" I didn't thought properly
about primitives and the usage of the operators that my idea would
completely break ;) So please read that part with this warning in
mind, but there are also some thoughts on primitives that are
boxed to Object.
> To say simple what I need to change in the ...deprecated... part
is, that typeof and primitives should keep, but the constructor
and the primitives corresponding Object instances should be the
way described.
>
> Uli
>
_______________________________________________
es-discuss mailing list
[email protected] <mailto:[email protected]>
https://mail.mozilla.org/listinfo/es-discuss
--
- Matthew Robb
_______________________________________________
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