I was ready to jump on you when I read the title of your post, but you're right, mostly. JavaScript is actually a really nice language to develop in (for small projects). With features such as lambdas, closures, and functions as first class objects, you can write some very elegant solutions with very little code.
Even with those features it's still stuck in the dark ages when compared to other modern languages. Prototypal inheritance, while cool, doesn't really offer the power that classical inheritance gives you when you're creating large systems. There's no such thing as super in prototypal inheritance, which gets annoying after a while.
Lately I've been looking into Flex and ActionScript 3. AS3 is basically what EcmaScript 4 was going to be before Microsoft derailed it. It's basically Java with a different syntax, a few extra features (lambdas, closures, namespaces), and no equivalent to abstract. It's really nice.
While I'm all for HTML5 and open standards, I highly doubt that it will ever be able to keep up with proprietary solutions like Flex. There's always going to be that big asshole in the corner who refuses to keep his browser up to date with everyone else. I've written large programs in JavaScript and its just far too stressful trying to keep IE-compliance. Until Microsoft or IE are dead and buried, I'm going to have more fun writing Flex apps that run on all browsers and all platforms without any platform specific code.