TypeScriptタイプexcludenull include undefined
Sep 30 2020
による
https://www.typescriptlang.org/docs/handbook/utility-types.html#nonnullabletype
例無効不可
Typeからnullおよびundefinedを除外して型を構築します。
type T0 = NonNullable<string | number | undefined>;
// ^ = type T0 = string | number
type T1 = NonNullable<string[] | null | undefined>;
// ^ = type T1 = string[]
そして私はそれが次のように定義されていることを読みました:
type NonNullable<T> = T extends null ? never : T
ここで、除外したいのですが、コードに必要なものをnull含めundefinedます。
どうしますか?ありがとう。
回答
1 Praveenkumar Oct 01 2020 at 04:02
実際には、既存のものNonNullableはとして定義されtype NonNullable<T> = T extends null | undefined ? never : T;ます。ただし、以下のような独自のユーティリティタイプを作成して使用することができます。
type NonNullButUndefined<T> = T extends null ? never : T;
// Usage
type T = NonNullButUndefined<string | null | undefined>;
使用法: