A language - static typed Javascript superset
Aims to extend the language, not branch out from it.
Compiler
Highly configurable, targets JS runtimes - the browser and / or Node.js
Open source
Developed and maintained by Microsoft
What
Why
Why
Scalable Javascript in large teams
Reduces the amount of bugs at compile time
Type safety
Provides an opt-in static type system for Javascript
ESNext
Use today planned Javascript features from the future
Opt-in adoption curve
Write plain Javascript code and add TS features as you go.
Productivity
Great intellisense, VSCode already uses TS under the hood
Type annotation + Type inference
Why
Decorators
Ambient Declarations
Generics
Modules
Interfaces
Other ES6/ESNext features
Arrow functions, destructuring, rest/spread operator, template literals and more
Classes
Enhanced class features while supporting JS class features
JS types plus unique extended TS types annotation & inference
How