NonNullable type is a utility type in TypeScript which creates a new type, whilst removing all
undefined elements. It lets us take existing types, and modify them so they are more suitable in certain situations. Let's look at how it works.
This article covers custom types. To learn more about custom types, read my guide about it here.
NonNullable Utility Type
NonNullable utility type works a lot like other utility types, in that it can take an existing type, and modify it as you see fit. As an example, let's say we have a specific union type which accepts
undefined as potential options:
type myType = string | number | null | undefined
This example works great in one example, but there is another part of our code where we don't want to accept
undefined. We could create a new type for that, or we could reuse
type myType = string | number | null | undefined type noNulls = NonNullable<myType>
In the above example,
noNulls is now of type
string | number.
Top comments (0)