One of the developers behind Angular 2, Victor Savkin, shares insights into why they ultimately opted for TypeScript over other technologies.
Entitled Why Typescript?, the last section delves into their decision-making process:
"There are a plethora of choices at the disposal of frontend developers today: ES5, ES6 (Babel), TypeScript, Dart, PureScript, Elm, and more. So why did we choose TypeScript?
Starting with ES5 - it holds one key advantage over TypeScript: no need for a transpiler. This simplicity in build setup can be valuable for small projects as you don't have to deal with file watchers, transpiling code, or generating source maps. Everything just works seamlessly. While TypeScript offers advanced refactoring and navigation capabilities, sometimes the straightforward nature of ES5 is preferred - where you know exactly where your code lies and what it accomplishes.
ES6 necessitates a transpiler, making its build setup quite similar to that of TypeScript. However, being a standard means that every editor and build tool either supports ES6 or will support it in due course.
Elm and PureScript stand out for their elegant languages and robust type systems, capable of offering deeper insights into your program compared to TypeScript. Code crafted in Elm and PureScript may often be more concise than similar code penned in ES5.
Each option comes with its own set of advantages and drawbacks, but TypeScript strikes a balance that renders it a favorable choice for most projects. Leveraging 95% of the benefits of a solid statically-typed language, TypeScript seamlessly integrates with the JavaScript ecosystem. Users still experience the familiar ES6 environment - utilizing the same libraries, idioms, and tools like Chrome dev tools. It brings substantial value without pushing users beyond the bounds of the JavaScript realm."