Anders Hejlsberg, lead architect of C# and creator of Delphi and Turbo Pascal, has worked on the development of TypeScript.
[13][14] Soon after the initial public release, Miguel de Icaza praised the language itself, but criticized the lack of mature IDE support apart from Microsoft Visual Studio, which was not available on Linux and macOS at the time.
[15][16] As of April 2021 there is support in other IDEs and text editors, including Emacs, Vim, WebStorm, Atom[17] and Microsoft's own Visual Studio Code.
[21] Further improvement were made in July 2014, when the development team announced a new TypeScript compiler, asserted to have a five-fold performance increase.
[22] On 22 September 2016, TypeScript 2.0 was released, introducing several features, including the ability for programmers to optionally enforce null safety,[23] to mitigate what's sometimes referred to as the billion-dollar mistake.
[26] While 4.0 did not introduce any breaking changes, it added language features such as Custom JSX Factories and Variadic Tuple Types.
[27] TypeScript originated from the shortcomings of JavaScript for the development of large-scale applications both at Microsoft and among their external customers.
[28] Challenges with dealing with complex JavaScript code led to demand for custom tooling to ease developing of components in the language.
[29] Developers sought a solution that would not break compatibility with the ECMAScript standard and its ecosystem, so a compiler was developed to transform a superset of JavaScript with type annotations and classes (TypeScript files) back into vanilla ECMAScript 5 code.
TypeScript adds the following syntax extensions to JavaScript: Syntactically, TypeScript is very similar to JScript .NET, another Microsoft implementation of the ECMA-262 language standard that added support for static typing and classical object-oriented language features such as classes, inheritance, interfaces, and namespaces.
In the process, the compiler strips away all function and method bodies and preserves only the signatures of the types that are exported.
Large collections of declaration files for popular JavaScript libraries are hosted on GitHub in DefinitelyTyped.
Both features in TypeScript support encapsulation of classes, interfaces, functions and variables into containers.
The compiler can target all ECMAScript versions 5 and above, transpiling modern features like classes and arrow functions to their older counterparts.
However, ESLint's inability to leverage TypeScript's language services precluded certain forms of semantic linting and program-wide analysis.
[48] In early 2019, the TSLint team announced the linter's deprecation in favor of typescript-eslint, a joint effort of the TSLint, ESLint and TypeScript teams to consolidate linting under the ESLint umbrella for improved performance, community unity and developer accessibility.