Static typing is what can provide better tooling for our development process. While writing JavaScript, the most that IDEs and text editors can do is to highlight syntax and provide some basic autocompletion suggestions based on sophisticated type inference for our code. This means that we can only verify that we haven't made any typos by running the code.
In the previous sections, we described the new features provided by ECMAScript expected to be implemented by browsers in the near future. In this section, we will take a look at what TypeScript provides in order to help us be less error prone and more productive. At the time of writing this book, there were no plans to implement built-in support for static typing in the browsers.
The TypeScript code goes through intermediate preprocessing that performs the type checking and drops all the...