As much as I couldn't live without complaining about Javascript's shortcomings, I have to agree with this. At the time, many of the features you mention were hardly necessary - no one was considering using it to build giant web apps, let alone servers! The fact that people decided they could do those things and the language was sufficiently flexible to grow along those lines would probably be very surprising to the original developer. For having such a chaotic evolution, it's becoming a much better language than anyone would have a right to expect.
Kind of like English, which is also a terrible choice for a global language, it's shown a fairly powerful ability to incorporate new idioms.
I don't believe this. Someone who knows how to design and implement a language with real closures, prototype-based inheritance, a garbage collector, etc. also knows the value and power of those things, used them before extensively and knows how far they can go. Also, the shortcomings that everybody loves to talk about are mostly misunderstood features (yes, even == which everybody loves to hate), and mostly by programmers who wouldn't even know where to start designing a language.
Kind of like English, which is also a terrible choice for a global language, it's shown a fairly powerful ability to incorporate new idioms.