Preface
The TypeScript language and compiler has been a huge success story since its release in late 2012. It quickly carved out a solid footprint in the JavaScript development community, and continues to go from strength to strength. The language has broken into top ten lists of both popular programming languages, and languages most sought after by companies looking to employ programmers.
Many large-scale JavaScript projects, realizing that their JavaScript code base is becoming unwieldy, have made the decision to switch their code base from JavaScript to TypeScript. In 2014, the Microsoft and Google teams announced that Angular 2.0 would be developed using TypeScript, thereby merging Google's AtScript language and Microsoft's TypeScript languages into one. Angular is now one of the top three most popular Single-Page Application frameworks, and has progressed to version 11.
This large-scale industry adoption of TypeScript shows the value of the language, the flexibility of the compiler, and the productivity gains that can be realized with its rich development toolset. On top of this industry support, the ECMAScript standards are being ratified and published on a yearly basis, therefore introducing new language elements quite rapidly. TypeScript provides a way to use features of these standards in our applications today.
Writing TypeScript applications has been made even more appealing with the large collection of declaration files that have been built by the TypeScript community. These declaration files seamlessly integrate a large range of existing JavaScript frameworks into the TypeScript development environment, bringing with them increased productivity, early error detection, and advanced IntelliSense features. Many JavaScript libraries are now automatically bundling TypeScript types into their releases, meaning that there is first-class support from the library developers, who recognize that a large portion of their user base is using TypeScript.
In the end, TypeScript generates JavaScript. This means that wherever we can use JavaScript, we can use TypeScript.