In addition to the options identified in the article definitely take a look at ScalaJS and ClojureScript. I've used ScalaJS quite a bit and it's a more or less flawless experience.
Also, like the grandparent comment said, ClojureScript is a very nice language too, with powerful tooling.
The nice thing about ScalaJS and ClojureScript is that they both can run on the browser, and on a JVM backend. Scala also has an LLVM backend that is being actively developed, but on its early stages. (ScalaJS is very mature and performant)