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

Reply via email to