Underpowered? I suppose it doesn't have a static type system. You can do OO just fine in Javascript, though.
There are fixed-sized intArrays and buffers in JS nowdays.
Yeah, but that's a far cry from a full-on static type system. Don't get me wrong, though — JS is one of my favorite languages! (Most) Lisps don't have static type systems, either, and not many people call them underpowered. Same goes for Ruby, Python, etc.
Is popular because is the only language allowed in the browsers; any other assertion is purely speculation. Just be glad is not COBOL or C (imagine any amateur's code causing memory leaks in the browser...)