TypeScript What ‘string & {}’ mean meaning?

Nhan Nguyen
6 days ago

--

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:

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.

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

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

--

--