TypeScript is a free, open-source language developed by Microsoft, first released publicly in October 2012 after roughly two years of internal development, with Anders Hejlsberg — creator of Turbo Pascal and Delphi, and lead architect of C# — leading its development. It is a strict superset of JavaScript: every valid JavaScript program is already valid TypeScript, and the added type annotations are checked at compile time, then completely erased when TypeScript compiles down to plain JavaScript that runs unchanged in any browser or Node.js environment.
Born from JavaScript's problems at scale
By 2010, Microsoft's own teams and external customers were hitting real friction building large applications in JavaScript: with no static types, mistakes that a compiler would normally catch (calling a method that doesn't exist, passing the wrong shape of object) surfaced only at runtime, sometimes in production. TypeScript's answer was to add an optional type layer on top of JavaScript without breaking any existing JavaScript code or its ecosystem — a deliberately incremental adoption path rather than a clean-slate replacement language.
Every JavaScript file is valid TypeScript
This is what made adoption realistic for existing codebases: you can rename a .js file to .ts with zero changes, and it's already valid TypeScript (implicitly typed as any wherever no type is given). Types are then added incrementally, file by file, function by function.
// this is valid JavaScript AND valid TypeScript, unchanged
function greet(name) {
return "Hello, " + name;
}
// adding a type annotation catches mistakes at compile time
function greetTyped(name: string): string {
return "Hello, " + name;
}
greetTyped(42); // COMPILE ERROR: argument of type number not assignable to string2026: a historic rewrite, from TypeScript to Go
TypeScript 6.0 (March 2026) was announced as deliberately the LAST version of the compiler written in TypeScript itself. TypeScript 7.0, in Release Candidate as of June 2026 under the codename "Project Corsa," ports the entire compiler and language service to Go — preserving identical type-checking behavior while reporting roughly a 10x speedup in type-checking, thanks to native code and shared-memory multi-threading unavailable to the old JavaScript-based compiler (codenamed "Strada").