メインコンテンツまでスキップ

NonNullable<T>

NonNullable<T>は、ユニオン型Tからnullundefinedを取り除いたユニオン型を返すユーティリティ型です。

名前はNonNullableですがundefinedも取り除くことができます。

NonNullable<T>の型引数

T

型引数Tには、nullundefinedを取り除きたいユニオン型を渡します。

NonNullableの使用例

ts
type String1 = NonNullable<string>;
type String1 = string
type String2 = NonNullable<string | null>;
type String2 = string
type String3 = NonNullable<string | undefined>;
type String3 = string
type String4 = NonNullable<string | null | undefined>;
type String4 = string
ts
type String1 = NonNullable<string>;
type String1 = string
type String2 = NonNullable<string | null>;
type String2 = string
type String3 = NonNullable<string | undefined>;
type String3 = string
type String4 = NonNullable<string | null | undefined>;
type String4 = string

NonNullable<null>NonNullable<undefined>never型になります。

ts
type Never1 = NonNullable<null>;
type Never1 = never
type Never2 = NonNullable<undefined>;
type Never2 = never
ts
type Never1 = NonNullable<null>;
type Never1 = never
type Never2 = NonNullable<undefined>;
type Never2 = never