News for hackers. Stuff that matters.
Re:The Secret Life of JavaScript Primitives by LeafStorm on Sunday September 04, 2011 @09:49PM (#2960843)
This...is incredibly typical of JavaScript's design.
Re:The Secret Life of JavaScript Primitives by TrevorBurnham on Monday September 05, 2011 @10:46AM (#2962329)
True. I'd argue that it's the best of both worlds: Unlike Java, you have access to a bunch of helpful functions on every primitive, and you can add more by modifying prototypes; and unlike Ruby, primitives are immutable, which puts a cap on the level of complexity (you could write a whole book on Ruby's string objects).
Re:The Secret Life of JavaScript Primitives by LeafStorm on Monday September 05, 2011 @11:26AM (#2962448)
You could do something similar by having each primitive type share a global prototype á la Lua's "string" metatable. Most operations are implemented as primitives in the VM, but any non-primitive operations on primitive types go to the type's metatable.
Re:The Secret Life of JavaScript Primitives by praeclarum on Monday September 05, 2011 @12:50AM (#2961181)
Well, at least it does the coercion for you (unlike Java).
Re:The Secret Life of JavaScript Primitives by LeafStorm on Monday September 05, 2011 @10:45AM (#2962326)
Good point. I remember trying to work an example in a Java textbook that involved building and printing out a times table. There were so many type coercion errors, I eventually just gave up.