However, the catch is that there are different 'languages' that effectively generate JavaScript code. in this regard, again the Rails community scores a point as they where the first ones to leverage CoffeeScript for this job. Other technology have came late into play, but there is still room for these different langugages to manuever.
I've already covered coffeescript, which is in vogue with Rails/Django crowd and there are others like Dart for the GO/Java community - although Dart can be used as-is (native compilation for the crome browser) but since not all browsers support Dart, practical implementations have to live with the Dart2Js tool, which ends up being javascript anyways.
Dart VS TypeScript
After learning Dart for a month, I'd sum it up as an ambitious attempt towards improving web applications but it has a learning curve, which in my personal option is unwarranted. I am inclined towards TypeScript as it allows me to code in javascript (or a close to JS syntax) rather than forcing me to learn another language just to get things done.
Given the fact that Angular.js 2.0 is choosing later over former even if that means using a Microsoft based framework instead of in-house one, investing in TypeSafe seems more prudent today.
my 2 cents