Design
from: wikipedia
TypeScript originated from the shortcomings of JavaScript for the development of large-scale applications both at Microsoft and among their external customers. Challenges with dealing with complex JavaScript code led to demand for custom tooling to ease developing of components in the language.
TypeScript developers sought a solution that would not break compatibility with the standard and its cross-platform support. Knowing that the current ECMAScript standard proposal promised future support for class-based programming, TypeScript was based on that proposal. That led to a JavaScript compiler with a set of syntactical language extensions, a superset based on the proposal, that transforms the extensions into regular JavaScript. In this sense, the class feature of TypeScript was a preview of what to expect from ECMAScript 2015. A unique aspect not in the proposal, but added to TypeScript, is optional static typing (also known as gradual typing) that enables static language analysis to facilitate tooling and IDE support.