On Mon, Mar 24, 2008 at 9:43 PM, Darryl <[EMAIL PROTECTED]> wrote:
> typeof(1) == "number"
> typeof(new Number(1)) == "object"
[...]
> Will these be made uniform in JS2?
No, it would be a pretty big breaking change from ES3. ES4 is
considering several small breaking changes, but nothing this major.
I feel your pain though.
> 5.prototype //parse error
>
> function N(n){ return n }
> N(5).prototype //== Number, wtf?
In Mozilla's JS engine, at least, `N(5).prototype` here evaluates to
`undefined`.
`N(5).whatever` and `(5).whatever` and `5..whatever` are all
identical, as Brendan said. I'm pretty sure ES3 requires this. If it
doesn't work for you, there's a bug somewhere.
Anyway, the syntax error on "5.prototype" seems impossible to fix
without breaking compatibility. Consider:
var x = 5.e6; // exponential notation or property lookup?
I like some things about Ruby, but language design isn't a matter of
collecting all the language features you like. It's ok for ECMAScript
and Ruby to be delightful in different ways. Adding some Ruby-like
syntax to ECMAScript could surely be done, but it would radically
change the feel of the language. I think most JS users would be
dismayed.
The problems solved by Ruby's flexible syntax and Ruby blocks might be
addressed in ES5 (or later) by a macro system. We'll see.
-j
_______________________________________________
Es4-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es4-discuss