JavaScript has two common patterns:
.has()
before retrieving the associated value via .get()
.These patterns don’t work as well in TypeScript. This blog post explains why and presents alternatives.
Iterator
name clashIn ECMAScript 2025, JavaScript gets a class Iterator
with iterator helper methods. This class conflicts with TypeScript’s existing types for iterators. In this blog post, we explore why that is and how TypeScript solves that conflict.
In this blog post, we explore how we can style text that we log to the console in Node.js.
Some of the examples use a Unix shell but most of the code should also work on Windows.
Converting values to strings in JavaScript is more complicated than it might seem:
In this blog post we look at:
.js
, .js.map
, .d.ts
, .d.ts.map
, .ts
In this blog post, we examine how we can test types in TypeScript:
asserttt
and the CLI tool ts-expect-error
.await
?In JavaScript, code has color: It is either synchronous or asynchronous. In this blog post, we explore:
await
await
from being practicalToday’s announcement by Microsoft:
[...] we’ve begun work on a native port of the TypeScript compiler and tools. The native implementation will drastically improve editor startup, reduce most build times by 10×, and substantially reduce memory usage.
This blog post looks at some of the details behind the news.
In this blog post, we explore what unions and intersections of object types can be used for in TypeScript.
Roughly, TypeScript is JavaScript plus type information. The latter is removed before TypeScript code is executed by JavaScript engines. Therefore, writing and deploying TypeScript is more work. Is that added work worth it? In this blog post, I’m going to argue that yes, it is. Read it if you are skeptical about TypeScript but interested in giving it a chance.