Microsoft published the release of TypeScript 6.0, a language for developing web applications that extends the capabilities of JavaScript, and related tools. The compiler code that translates TypeScript code into JavaScript is distributed under the Apache 2.0 license and is being developed in a public repository via the GitHub service. The language specifications are open and published under the Open Web Foundation Specification Agreement.
The TypeScript language extends the capabilities of JavaScript while remaining fully backwards compatible, making it easy to translate existing applications to TypeScript. The final TypeScript application is compiled into regular JavaScript, which can be executed in any modern web browser or used with the Node.js, Bun and Deno platforms. TypeScript programs can use existing JavaScript libraries. TypeScript differs from JavaScript in its means for explicitly defining types, as well as support for the use of full-fledged classes. Static typing allows you to avoid many errors during the development process, makes it possible to use additional optimization techniques, simplifies debugging, makes the code more readable and easier to modify and maintain.
The TypeScript 6.0 branch is marked as the last one to ship with a compiler in the TypeScript language translated into JavaScript. In the TypeScript 7.0 branch, the project will switch to the new compiler typescript-go (tsgo), developed since 2024 in the Go language. The new compiler will significantly increase build speed, reduce memory consumption and reduce the launch time of code editors, which will solve the current problems with scaling when used in very large projects. It will also provide a compact command line toolkit that allows you to quickly build code to test its functionality.
The TypeScript 6.x branch continues to ship with the old compiler, but includes some changes to prepare for migration to the new implementation. TypeScript 6.0 inlet is positioned as bridges the gap between the TypeScript 5.9 and 7.0 branches, and contains changes primarily aimed at easing the future transition to the TypeScript 7