- Superset of Javascript developed by Microsoft
- Compiles back to plain Javascript
- Can integrate with JS projects
- Designed for development of larger apps
- Static type checking
- Class based objects
- Modularity
- ES6 Features
- Syntax closer to Java/Scala
- Allows for better tooling
We can check and assign variable, parameter and function types.
- Optional
- Prevents type issues and potential future issues
- Make code more readable and descriptive
- Use Object Oriented programming in JS
- No prototypes
- Encapsulation
- Inheritance
- Access Modifiers // [public, protected, private]
- String
- Number
- Boolean
- Array
- Any
- Void
- Null
- Tuple // array with fixed values
- Enum
- Generics