In fact I tested Dart long ago (and I'm sure it evolved a lot in the meantime), as well a GWT and Haxe (and now there's so many other alternatives, like scalajs. ...)
When Typescript came out, the main adoption factor for our team was: it's only extended javascript and the specs let you know exactly what TS code generates.... and therefore whenever you see a bug in your js code execution, you can find exactly what line of TS generated this js code. In other words, you have full control over the generated JS (this is less true if you're using Babel or similar libs to target a browser, but if you're using Node5 and ES6, the transpilation route is clear)
HaXe for instance was nice (and I really like the language, but it was sometimes quite difficult to understand why you get this specific js as an output.
If I try to rephrase the rationale we had: Typescript is the type system that's the closest to the executed code. And the less 'black boxes' you have in your code's path, the more control and understanding you have.
Motivations, goals and rationale could be different for other teams, and that's OK, every project has it own specific needs and constraints.