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