There are a few different options for Compile-to-JS languages and here I'm going to outline the main contenders as of late 2014.
Regardless of what you choose, you're going to be working indirectly with JS and you should learn it to a fluent level.
Google Closure Compiler
Closure is a checking compiler from Google, and it is interesting in that it works on pure JS code, i.e. it's not a separate programming language. Code written for Closure needs comment type annotations (which are quite ugly and cumbersome, but easily written if you are disciplined) to make use of the compiler's features. The compiler does useful things like checking that the methods you are calling really exist, instead of leaving you to find out at runtime.
The main downside of Closure is performance; there is no incremental compilation which means if you change one line of one file you have to recompile the whole thing, and it can take several minutes. I should stress that for development this makes little difference - you tend to develop using your raw code, not the compiled code, so invoking the compiler is something you do before committing code, not (always) before trying it out locally. To make full use of Closure all external libraries need to have type definitions; for popular libraries these are easy to find and it is not too hard to write these yourself (but it is an extra requirement).
Google's investment in AtScript (see below) may have implications for the future of Closure, but the compiler itself is mature and reliable as it is.
The tooling (via Visual Studio) is (now) both good and stable, and the compilation step in development is fast and largely transparent. If you are using an MS environment and have access to Visual Studio, you should absolutely strongly consider using TypeScript. MS claims that tooling exists for non Windows based platforms but I cannot speak to its quality (and frankly, I'd be sceptical).
Note that TS requires type definitions for external code, like Closure.
TS is a bit of a risk in that growth appears slow and MS might see that as a reason to discontinue it.
AtScript is superficially not dissimilar to TypeScript, but at the moment the project is too immature to seriously evaluate how it practically differs, and because of its immaturity it would be unwise to start using AtScript any time soon.
In summary, your choice for "which compiler do I use?" depends on project size, project length, and number of developers. I'll condense this all down to lines of code to get the point across. In order of preference:
|Project Size||Approx #lines of code||Choices|
|Small||10k||TS, Closure, Plain JS|
|Medium to very large||>10k||TS, Closure|