What if the semantics were fixed specifically with egal operators? if ( typeof null is "null" )
On Sat, Sep 29, 2012 at 7:12 PM, Brendan Eich <[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]> 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] > https://mail.mozilla.org/listinfo/es-discuss > -- - Matthew Robb
_______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

