So as you are most likely aware, JavaScript is expanding its footprint everyday and it is both overwhelming and amazing what you can do with the language nowadays.

However, as more large-scale projects start to use JavaScript, the process of making the code easier to write and more maintainable becomes more and more difficult. One reason for this is that, unlike some other programming languages, JavaScript is not a strongly-typed language. This means there can be confusion, especially in large code bases, about when different types (numbers, strings, booleans, arrays, etc) should be used and sometimes the problems only surface in production.

This is a problem Microsoft recognized early on and they came up with the solution of TypeScript and released the first version on October 1st, 2012.

You can learn more about the syntax differences at TypeScript > JavaScript vs TypeScript.

Key Features


Latest stable version available is TypeScript 3.1.


To learn more about installation, see TypeScript > Installation.


To learn more about using a linter with TypeScript, check out TypeScript > Linter.



If you want to try out TypeScript without installing it, visit the TypeScript Playground.

The Playground has a built-in auto completion and the ability to directly see the emitted JavaScript.

Other Resources

To learn more about installation, see the Installation Appendix.

In case you need just a type checker and don't want to compile your program, read about Flux.

Contributing to the Guide

This open source guide is curated by thousands of contributors. You can help by researching, writing and updating these articles. It is an easy and fun way to get started with contributing to open source.