TypeScript is open source. It was designed by Anders Hejlsberg (the lead architect of C#) at Microsoft.
Features of TypeScript:
- TypeScript supports Object Oriented Programming concepts like classes, object, interfaces and inheritance etc.
- TypeScript provides strict null checks. TypeScript compiler will not allow undefined to be assigned to a variable unless you explicitly declare it to be of nullable type. For example, let num1 : number = undefined will result in a compile error. This fits perfectly with type theory, since undefined is not a number. One can define x to be a sum type of number and undefined to correct this: let num1 : number | undefined = undefined.