The problem with Javascript is that it enables you many ways to screw up. Unless you already know how not to screw up, If you are a good functional programmer, like Brian Lonsdorf aka DrBoolean, then yes - you can compose some extremely mind blowing crazy stuff without shooting yourself in the foot. Languages like Clojurescript, Elm and Purescript are better simply because they enforce you specific discipline and that helps you to write arguably better code.