Typescript Series – Vyloučit typ nástroje

Rád bych začal tím, že tuto sérii dělám, abych se naučil a lépe porozuměl Typescriptu, takže mě neváhejte opravit nebo mě kontaktujte.

Pojďme si napsat a podívat se, jak tento typ utility funguje pod kapotou.

Vyloučit

Vytvoří typ vyloučením z UnionType všech členů odboru, které lze přiřadit k ExcludedMembers (docs)

příklad:

type T0 = Exclude<"a" | "b" | "c", "a">; 

// type T0 = "b" | "c"

type T1 = Exclude<"a" | "b" | "c", "a" | "b">; 

//type T1 = "c"

type T2 = Exclude<string | number | (() => void), Function>; 

// type T2 = string | number

Nyní, když víme, jak se má chovat, napíšeme typ.

type MyExclude<Type, Exclude> =  Type extends Exclude 
? never : Type

Zde zkontrolujeme, zda Type rozšiřuje Exclude, pak bychom to měli ignorovat, nezapomeňte, že chceme tento prvek vyloučit, jinak vrátíme neodpovídající hodnotu.

Tady to máš, bylo to docela jednoduché!

Děkuji!

najdete mě zde Můj Twitter