TypeScript type exclude null include undefined

Sep 30 2020

Berdasarkan

https://www.typescriptlang.org/docs/handbook/utility-types.html#nonnullabletype

NonNullable

Membangun sebuah tipe dengan mengecualikan null dan undefined dari Type.

Contoh
type T0 = NonNullable<string | number | undefined>;
//    ^ = type T0 = string | number
type T1 = NonNullable<string[] | null | undefined>;
//    ^ = type T1 = string[]

dan saya telah membacanya didefinisikan sebagai:

type NonNullable<T> = T extends null ? never : T

Sekarang, saya ingin mengecualikan nulltetapi harus memasukkannya undefinedke dalam kode saya.

Bagaimana Anda melakukannya? Terima kasih.

Jawaban

1 Praveenkumar Oct 01 2020 at 04:02

Sebenarnya yang ada NonNullabledidefinisikan sebagai type NonNullable<T> = T extends null | undefined ? never : T;. Tetapi Anda dapat membuat jenis utilitas Anda sendiri seperti di bawah ini, dan menggunakannya.

type NonNullButUndefined<T> = T extends null ? never : T;

// Usage
type T = NonNullButUndefined<string | null | undefined>;

Pemakaian: