TypeScript What ‘string & {}’ mean meaning?



This content originally appeared on DEV Community and was authored by Nhan Nguyen

Give an example, we define a Color type:

type Color = "primary" | "secondary" | string;

Then we use it like this:

const color: Color = "primary";

But there’s an issue:

Image description

We aren’t getting color suggestions when we use the Color type.

We want primary and secondary to be on that list. How do we manage that?

We can intersect the string type in Color with an empty object like this:

type Color = "primary" | "secondary" | (string & {});

Now, we’ll get suggestions for primary and secondary when we use the Color type.

Image description

I hope you found it helpful. Thanks for reading. 🙏

Let’s get connected! You can find me on:


This content originally appeared on DEV Community and was authored by Nhan Nguyen