Try Haskell or an ML. Heck, even C# isn't that bad these days.
JavaScript's just a minefield of pitfalls. To be fair, it was designed in 10 days, and progress on it has been slow to say the least. (Hence the silly crap like having a "left-pad" thing as a 3rd party "module" instead of part of a proper stdlib.)
Other stuff like using "function" as the lambda identifier just make me shake my head. Or not having integers. Just poor decisions all around.
Generally, unless you're doing systems or realtime programming, or you are writing a serious fast path for a lot of data, the only reason you'd need more than the very basic features present in every programming language is that you're trying to do something more complicated than you should be.
Many programmers seem willing to take on almost any amount of complexity in their toolchain if it will allow them to express an idea in a slightly more concise way. I would prefer to stay much closer to the basics and just take the time to make really beautiful and powerful functions, rather than rely on a rickety stack of concepts that, if not confusing to me, will be confusing to many of the people who end up interacting with my code.