Typescript Series - If Type Util

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.

Malá výzva, pojďme napsat utilIf který přijímá podmínku C, pravdivý návratový typ T a nepravdivý návratový typ F. Očekává se, že C bude buď pravdivý, nebo nepravdivý, zatímco T a F mohou být libovolného typu.

type A = If<true, 'a', 'b'>  // expected to be 'a'
type B = If<false, 'a', 'b'> // expected to be 'b'

Toto je jednoduchý, ale dobrý postup

type If<C extends boolean, T, F> = C extends true ? T : F

Víme, že C je typu boolean, takže se ujistíme, že jej rozšiřuje, pamatujte, že se očekává, že C bude buď pravda, nebo nepravda, takže podle našich požadavků, pokud je C pravda, vrátíme svůj typ T, jinak vrátíme svůj falešný typ F.

Děkuji!

najdete mě zde Můj Twitter