functions scope sucks though :( Writing callbacks inside a loop can be a pain.
Re:From jQuery to JavaScript and back again
by quarterto on Friday February 08, 2013 @10:21AM
(#5188235)
ES6 will have proper block scoping using let. You can use that today in JavaScript 1.8 compliant engines (so far, just SpiderMonkey).
Re:From jQuery to JavaScript and back again
by masklinn on Friday February 08, 2013 @10:24AM
(#5188252)
That's not really an issue of function scope. It's an issue of closing over mutable bindings, though loops + function scope do make it more likely for the issue to arise.
And ES6 adds block scopes (via `let`, inherited from Mozilla's javascript extensions).
That strays from the original complaint though.
Actually its scoping is very well defined: javascript has function scoping and a global scope. That's it.
> In practice, prototype-based OO is inferior to class-based OO.
That is plain and simply not true. A shitty object model is inferior to a good object model, but that's got nothing to do with prototypes v classes (as far as I'm concerned, the world would probably be a lot more enjoyable if more language implemented a self-like object model).
> Its development environments and debuggers are quite lacking.
They're already ahead of most non-corporate languages and keep improving at a fast pace.