TypeScript
The official blog of the TypeScript team.
Latest posts

Announcing TypeScript 3.7 Beta

We're pleased to announce TypeScript 3.7 Beta, a feature-complete version of TypeScript 3.7. Between now and the final release, we'll be fixing bugs and further improving performance and stability. To get started using the beta, you can get it through NuGet, or use npm with the following command: You can also get editor support by TypeScript 3.7 Beta includes some of our most highly-requested features! Let's dive in and see what's new, starting with the highlight feature of 3.7: Optional Chaining. Optional Chaining TypeScript 3.7 implements one of the most highly-demanded ECMAScript featu...

Announcing TypeScript 3.6

Today we're happy to announce the availability of TypeScript 3.6! For those unfamiliar, TypeScript is a language that builds on JavaScript by adding optional static types. These types can be checked by the TypeScript compiler to catch common errors in your programs (like misspelling properties and calling functions the wrong way). Tools like the TypeScript compiler and Babel can then be used to transform TypeScript code that uses all the latest and greatest standard features to standards-compliant ECMAScript code that will work on any browser or runtime (even much older ones that support ES3 or ES5). TypeSc...

Announcing TypeScript 3.6 RC

Today we're happy to announce the availability of the release candidate of TypeScript 3.6. This release candidate is intended to be fairly close to the full release, and will stabilize for the next few weeks leading up to our official release. To get started using the RC, you can get it through NuGet, or use npm with the following command: You can also get editor support by Let's explore what's coming in 3.6! Stricter Generators TypeScript 3.6 introduces stricter checking for iterators and generator functions. In earlier versions, users of generators had no way to differentiate whether a ...

Announcing TypeScript 3.6 Beta

Today we're happy to announce the availability of TypeScript 3.6 Beta. This beta is intended to be a feature-complete version of TypeScript 3.6. In the coming weeks we'll be working on bugs and improving performance and stability for our release candidate, and eventually the full release. To get started using the beta, you can get it through NuGet, or use npm with the following command: You can also get editor support by Let's explore what's coming in 3.6! Stricter Generators TypeScript 3.6 introduces stricter checking for iterators and generator functions. In earlier versions, users of g...

How to Upgrade to TypeScript without anybody noticing, Part 2
This guide will show you how to fix Typescript compile errors in Javascript project that recently added Typescript support via a . It assumes that the  is configured according to the description in part 1 of this post, and that you also installed types for some of your dependencies from the  namespace. This guide is more of a list of tasks that you can pick and choose from, depending on what you want to fix first. Here are the tasks: This guide does not teach you how to write type definitions. The Declaration section of the Typescript handbook is the best place to learn about that. He...

How to Upgrade to TypeScript Without Anybody Noticing, Part 1
This guide will show you how to upgrade to TypeScript without anybody noticing. Well, people might notice — what I really mean is that you won’t have to change your build at all. You’ll have the ability to get errors and completions in supported editors and to get errors on the command line from tsc, the TypeScript compiler, but you won’t have to integrate TypeScript into your build. Here’s what you’ll actually need to check in to source control: How can you upgrade with so little change? Well, the secret is that you’re not using TypeScript. The TypeScript compiler can check Javascript just fi...

Announcing TypeScript 3.5

Today we're happy to announce the availability of TypeScript 3.5! If you're new to TypeScript, it's a language that builds on JavaScript that adds optional static types. TypeScript code gets type-checked to avoid common mistakes like typos and accidental coercions, and then gets transformed by a program called the TypeScript compiler. The compiler strips out any TypeScript-specific syntax and optionally transforms your code to work with older browsers, leaving you with clean, readable JavaScript that can run in your favorite browser or Node.js. Built on top of all this is also a language service which uses all...

Announcing TypeScript 3.5 RC

Today we're happy to announce the availability of our release candidate (RC) of TypeScript 3.5. Our hope is to collect feedback and early issues to ensure our final release is simple to pick up and use right away. To get started using the RC, you can get it through NuGet, or use npm with the following command: You can also get editor support by Let's explore what's new in 3.5! Speed improvements TypeScript 3.5 introduces several optimizations around type-checking and incremental builds. Type-checking speed-ups Much of the expressivity of...

Announcing TypeScript 3.4

Today we're happy to announce the availability of TypeScript 3.4! If you haven't yet used TypeScript, it's a language that builds on JavaScript that adds optional static types. The TypeScript project provides a compiler that checks your programs based on these types to prevent certain classes of errors, and then strips them out of your program so you can get clean readable JavaScript code that will run in any ECMAScript runtime (like your favorite browser, or Node.js). TypeScript also leverages this type information to provide a language server, which can be used for powerful cross-platform editor tooling like...