This will probably not happen, the general consensus is that eval is basically considered harmful and you should use new Fuction(argname, argname, argname, code) to do the same thing. ES5 strict mode places a number of restrictions on what eval can do.
tools (great-eclipse-visual-studio-like IDE)
This is tricky and less necessary for non-C/Java/C# languages but I assume you mostly mean code completion and minor refactorings. The mozilla JS team has a type inferencer for JS, which is the first step, but it's not particularly useful. I've been poking at this, so we'll see if I come up with anything. Someone will get to this at some point even if I don't actually manage to make anything useful. For integrated debugging, I know the cloud9 IDE (web based) has been messing with node.js/Chrome debugger integration but I haven't messed with it.
Destructuring bind (e.g. x, y = returnTwoValues())
Support available in Mozilla's implementation with the correct mime type. Brendan Eich wants to add them, but I can't find a harmony strawman for it (maybe it was accepted?). I do know yield is a reserved keyword in ES5 strict.
Static typing is available in ActionScript3. Not aware of any efforts beyond this. I know there were proposals for type annotations in ES4 but I haven't heard much from ES5/Harmony in this area. I think most JS developers aren't particularly interested.
Solid string and collection libraries
Unlikely to be in the standard, look to implementations/userland libraries.
This will probably not happen, the general consensus is that eval is basically considered harmful and you should use new Fuction(argname, argname, argname, code) to do the same thing. ES5 strict mode places a number of restrictions on what eval can do.
tools (great-eclipse-visual-studio-like IDE)
This is tricky and less necessary for non-C/Java/C# languages but I assume you mostly mean code completion and minor refactorings. The mozilla JS team has a type inferencer for JS, which is the first step, but it's not particularly useful. I've been poking at this, so we'll see if I come up with anything. Someone will get to this at some point even if I don't actually manage to make anything useful. For integrated debugging, I know the cloud9 IDE (web based) has been messing with node.js/Chrome debugger integration but I haven't messed with it.
Destructuring bind (e.g. x, y = returnTwoValues())
http://wiki.ecmascript.org/doku.php?id=harmony:destructuring
Standard OOP with classes, instances, interfaces, polymorphism
http://wiki.ecmascript.org/doku.php?id=strawman:classes
Visibility quantifiers
access control via proxies: http://wiki.ecmascript.org/doku.php?id=harmony:proxies
Iterators and generators
Support available in Mozilla's implementation with the correct mime type. Brendan Eich wants to add them, but I can't find a harmony strawman for it (maybe it was accepted?). I do know yield is a reserved keyword in ES5 strict.
Namespaces and packages
Called modules: https://docs.google.com/Doc?id=dfgxb7gk_34gpk37z9v
Operator overloading
Not aware of anything.
Static typing and duck typing
Static typing is available in ActionScript3. Not aware of any efforts beyond this. I know there were proposals for type annotations in ES4 but I haven't heard much from ES5/Harmony in this area. I think most JS developers aren't particularly interested.
Solid string and collection libraries
Unlikely to be in the standard, look to implementations/userland libraries.