TypeScript
The official blog of the TypeScript team.
Latest posts
TypeScript and Babel 7
Today we're excited to announce something special for Babel users.Over a year ago, we set out to find what the biggest difficulties users were running into with TypeScript, and we found that a common theme among Babel users was that trying to get TypeScript set up was just too hard. The reasons often varied, but for a lot of developers, rewiring a build that's already working can be a daunting task. Babel is a fantastic tool with a vibrant ecosystem that serves millions of developers by transforming the latest JavaScript features to older runtimes and browsers; but it doesn't do type-checking, which our team b...
Announcing TypeScript 3.0
TypeScript 3.0 is here! Today marks a new milestone in the TypeScript journey, serving JavaScript users everywhere.If you're unfamiliar with TypeScript, it's not too late to learn about it now! TypeScript is an extension of JavaScript that aims to bring static types to modern JavaScript. The TypeScript compiler reads in TypeScript code, which has things like type declarations and type annotations, and emits clean readable JavaScript with those constructs transformed and removed. That code runs in any ECMAScript runtime like your favorite browsers and Node.js. At its core, this experience means analyzing your ...
Announcing TypeScript 3.0 RC
TypeScript 3.0, our next release of the type system, compiler, and language service, is fast-approaching! Today we're excited to announce the Release Candidate of TypeScript 3.0! We're looking to get any and all feedback from this RC to successfully ship TypeScript 3.0 proper, so if you'd like to give it a shot now, you can get the RC through NuGet, or use npm with the following command: You can also get editor support by While Visual Studio 2015 doesn't currently have an RC installer, TypeScript 3.0 will be available for Visual Studio 2015 users. While you can read about everything on ...
Announcing TypeScript 2.9
Today we're announcing the release of TypeScript 2.9!If you're not familiar with TypeScript, it's a language that adds optional static types to JavaScript. Those static types help make guarantees about your code to avoid typos and other silly errors. They can also provide nice things like code completions and easier project navigation thanks to tooling built around those types. When your code is run through the TypeScript compiler, you're left with clean, readable, and standards-compliant JavaScript code, potentially rewritten to support much older browsers that only support ECMAScript 5 or even ECMAScript 3. ...
Announcing TypeScript 2.9 RC
Today we're excited to announce and get some early feedback with TypeScript 2.9's Release Candidate. To get started with the RC, you can access it through NuGet, or use npm with the following command: You can also get editor support by Let's jump into some highlights of the Release Candidate! Support for symbols and numeric literals in keyof and mapped object types TypeScript's keyof operator is a useful way to query the property names of an existing type. Unfortunately, because keyof predates TypeScript's ability to reason about unique symbol types, keyof never recognized symboli...
Announcing TypeScript 2.8
TypeScript 2.8 is here and brings a few features that we think you'll love unconditionally! If you're not familiar with TypeScript, it's a language that adds optional static types to JavaScript. Those static types help make guarantees about your code to avoid typos and other silly errors. They can also help provide nice things like code completions and easier project navigation thanks to tooling built around those types. When your code is run through the TypeScript compiler, you're left with clean, readable, and standards-compliant JavaScript code, potentially rewritten to support much older browsers that only...
Announcing TypeScript 2.8 RC
Today we're excited to announce and get some early feedback with TypeScript 2.8's Release Candidate. To get started with the RC, you can access it through NuGet, or use npm with the following command: You can also get editor support by Let's jump into some highlights that are available in our RC! Conditional Types TypeScript 2.8 introduces a new construct called conditional types. This new construct is based on JavaScript's conditional syntax, and takes the form A extends B ? C : D. You should mentally read this as "if the type A is assignable to B, then the type boils down to C, a...
Announcing TypeScript 2.7
Today we're proud to announce the release of TypeScript 2.7! If you're not familiar with TypeScript, it's a language that brings optional static types to JavaScript by building on JavaScript itself. Running TypeScript code through its compiler emits clean readable JavaScript that runs on any browser, and can also make bleeding-edge ECMAScript features you write work on older browsers. That means that you can take advantage of the design time tooling and safety of types (like code completion & navigation), while still leveraging the familiarity, community, and ubiquity of JavaScript. But if you already k...
Announcing TypeScript 2.7 RC
Today we're publishing the Release Candidate of TypeScript 2.7. To get started with the RC, you can access it through NuGet, or use npm with the following command: Visual Studio 2015 users (who have Update 3) can install TypeScript 2.7 RC from here, and Visual Studio 2017 users using version 15.2 or later will be able to get TypeScript by simply installing it from here. You can also get the Release Candidate working with Visual Studio Code and Sublime Text. While we have many new features and fixes, we have a few highlights for the RC we think are especially important. Definite Assignment Checks for...