TypeScript

The official blog of the TypeScript team.

Latest posts

Ten Years of TypeScript
Oct 1, 2022
Post comments count 6
Post likes count 11

Ten Years of TypeScript

Daniel Rosenwasser
Daniel Rosenwasser

Today is TypeScript's birthday! But this birthday is a special one - 10 years ago today, on October 1st, 2012, TypeScript was unveiled publicly for the first time. The Early Days When TypeScript first debuted, there was a lot of skepticism - and understandably so. To some JavaScript users, a team trying to bring static types to JavaScript might have sounded like an evil plot or a joke. But the features had merit, right? Type-checking, catching bugs before you even save your file, and getting rich editor features like code-completion, navigation, and refactorings? We knew teams inside and outside of our com...

Announcing TypeScript 4.9 Beta
Sep 23, 2022
Post comments count 8
Post likes count 6

Announcing TypeScript 4.9 Beta

Daniel Rosenwasser
Daniel Rosenwasser

Today we're announcing our beta release of TypeScript 4.9! 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 Here's a quick list of what's new in TypeScript 4.9! The Operator TypeScript developers are often faced with a dilemma: we want to ensure that some expression matches some type, but also want to keep the most specific type of that expression for inference purposes. For example: Notice that we've written , whereas we probably should have written . We could try to catch that typo by usin...

Announcing TypeScript 4.8
Aug 25, 2022
Post comments count 3
Post likes count 9

Announcing TypeScript 4.8

Daniel Rosenwasser
Daniel Rosenwasser

Today we're excited to announce the release of TypeScript 4.8! If you're not yet familiar with TypeScript, it's a language that builds on JavaScript and adds syntax for types. These types let you put your expectations and assumptions into your code, and those assumptions can then be checked by the TypeScript type-checker. This checking can help avoid typos, calling uninitialized values, mixing up arguments for functions, and more. Types go beyond checking though, and are used to give you a powerful editing experience for both TypeScript and JavaScript, enabling code completion, go-to-definition, renaming, and...

Announcing TypeScript 4.8 RC
Aug 11, 2022
Post comments count 1
Post likes count 4

Announcing TypeScript 4.8 RC

Daniel Rosenwasser
Daniel Rosenwasser

Today we're excited to announce our Release Candidate (RC) of TypeScript 4.8. Between now and the stable release of TypeScript 4.8, we expect no further changes apart from critical bug fixes. 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 Here's a quick list of what's new in TypeScript 4.8! What's New Since the Beta? Since our beta release, the RC now has support for excluding which files are considered in auto-imports. The beta release post also did not document a break around unused dest...

Announcing TypeScript 4.8 Beta
Jun 21, 2022
Post comments count 1
Post likes count 0

Announcing TypeScript 4.8 Beta

Daniel Rosenwasser
Daniel Rosenwasser

Today we're announcing our beta release of TypeScript 4.8! 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 Here's a quick list of what's new in TypeScript 4.8! Improved Intersection Reduction, Union Compatibility, and Narrowing TypeScript 4.8 brings a series of correctness and consistency improvements under . These changes affect how intersection and union types work, and are leveraged in how TypeScript narrows types. For example, is close in spirit to the union type because it accepts ,...

Announcing TypeScript 4.7
May 24, 2022
Post comments count 8
Post likes count 0

Announcing TypeScript 4.7

Daniel Rosenwasser
Daniel Rosenwasser

Today we're excited to announce the availability of TypeScript 4.7! If you're not yet familiar with TypeScript, it's a language that builds on JavaScript and adds syntax for types. Types help describe what kinds of values you're working with and what kinds of functions you're calling. TypeScript can use this information to help you avoid about mistakes like typos, missing arguments, or forgetting to check for and ! But this type-checking isn't the only thing TypeScript does - it uses the information from these types to give you an amazing editing experience, powering things like code-completions, go-to-defin...

Announcing TypeScript 4.7 RC
May 11, 2022
Post comments count 2
Post likes count 0

Announcing TypeScript 4.7 RC

Daniel Rosenwasser
Daniel Rosenwasser

Today we're excited to announce our Release Candidate (RC) of TypeScript 4.7! Between now and the stable release of TypeScript 4.7, we expect no further changes apart from critical bug fixes. 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 Here's a quick list of what's new in TypeScript 4.7! What's New Since the Beta? In our beta release, we announced a stable target for our Node ESM support called ; however, Node.js 12 is no longer under maintenance, so we've started the stable targ...

Announcing TypeScript 4.7 Beta
Apr 8, 2022
Post comments count 7
Post likes count 0

Announcing TypeScript 4.7 Beta

Daniel Rosenwasser
Daniel Rosenwasser

Today we are excited to announce the beta release of TypeScript 4.7! To get started using the beta, you can use npm with the following command: You can also get editor support by Here's a quick list of what's new in TypeScript 4.7! ECMAScript Module Support in Node.js For the last few years, Node.js has been working to support ECMAScript modules (ESM). This has been a very difficult feature, since the Node.js ecosystem is built on a different module system called CommonJS (CJS). Interoperating between the two brings large challenges, with many new features to juggl...

A Proposal For Type Syntax in JavaScript
Mar 9, 2022
Post comments count 54
Post likes count 2

A Proposal For Type Syntax in JavaScript

Daniel Rosenwasser
Daniel Rosenwasser

Today we're excited to announce our support and collaboration on a new Stage 0 proposal to bring optional and erasable type syntax to JavaScript. Because this new syntax wouldn't change how surrounding code runs, it would effectively act as comments. We think this has the potential to make TypeScript easier and faster to use for development at every scale. We'd like to talk about why we're pursuing this, and how this proposal works at a high level. Background One recent trend our team has seen in the JavaScript world is a demand for faster iteration time and a reduction of build steps. In other words, &qu...