The Others: CoffeeScript, Dart, TypeScript...

Javascript is almost a ubiquitous language. In a way it is comparable to C in its heyday. It is the language you need to know, or at least be aware of these days. Besides being a handy language for displaying various doodads on your site (ie. a lá jQuery) it is used for application development. There are even ways to program embedded systems using it (see noduino for an example).

The language isn’t without its quirks. As a result various alternative languages compiling to JavaScript have emerged. Usually they provide some missing functionality and implement language concepts of their own. If you want a use OOP-style, or get rid fo nasty callbacks, or add some strict typing to your functions? Well, should definetely check these languages.

For instance if you are into classical OOP instead of prototypal and want some syntactical sugar, you might enjoy CoffeeScript. In case you wish to have a stricter typing system, you could find Dart or TypeScript interesting. Those that enjoy functional programming, could perhaps enjoy ClojureScript or Roy. The following list contains various alternatives. You do not have to stick with vanilla JavaScript unless you want to. It does not hurt to know JavaScript well but having higher level options available is always a good thing.