it greatly improves on it's predecessors
familiar syntax
it's designed to be practical, to the chagrin of CS purists
next-generation of applications being built (hadoop, palantir, runsecape : asana, meteor)
Javascript is good because it can run anywhere. We have no other choice for client-side web programming. So we learn to deal with its inconsistencies. Some learn to love it. But it's ultimately a bad language. You can't think about the future of the web and come to the conclusion that Javascript will still be there. Javascript is not suited for the web as an application platform. HTML5 tried to fix this--but it still relied on Javashit. Microshaft had the right idea with ActiveX. It was just too non-portable and difficult to use to have widespread adoption (although a lot of good browser-based software uses ActiveX because it just works).
The real problem with node.js is the assumption that we likes writing in Javascript. We use Javascript only out of necessity.