generated at
2/18/2025, 11:20:34 AM
Conditional Types
TypeScript v2.8
T extends U ? X : Y
という構文
型定義の右辺に現れる
extends
の話
T
が
U
の
部分型 (subtype)
ならば
X
、そうでなければ
Y
左辺に現れる
extends
は
Conditional Types
ではないことに注意する
それは
TypeScriptのGenerics
の型制約
ref
TypeScriptのあるある部分型の型制約と条件分岐
Conditional Typesを末尾再帰で書く
PR
関連
Distributive Conditional Types
T
がunion型の時、分配して評価される
Deferred Conditional Types
Type inference in conditional types
infer R
のこと
>
#WIP
X
,
Y
の部分は遅延評価される
X
,
Y
の部分が、
T
,
U
に依存している場合は、
T
,
U
が決定された後に、評価される
これって遅延評価って言うの
#??
短絡評価というか、単純に
先 ? 後 : 後
の順で評価されるってだけでしょ?
遅延評価の定義をちゃんと知らないけど、「遅延評価だから~」というのを知らなくても直感的にわかる
型の世界での「遅延評価」を知らないから、「???」ってなってる気がする
https://qiita.com/Quramy/items/b45711789605ef9f96de#conditional-types
https://qiita.com/uhyo/items/e2fdef2d3236b9bfe74a#conditional-typeによるdeepreadonlyt
Conditional Typesで複数条件を1回で書く
conditional typesの応用例集
https://blog.mariusschulz.com/2019/01/09/typescript-2-8-conditional-types