Slide 36
Slide 36 text
User Defined Type Guard
3. コンパイラの合意
ランタイム挙動をなぞらえた型推論は、完璧ではありません。
例えば次の変数「users」から、男性のみをフィルタリングしてみます。
type Male = { id: string; gender: 'male' }
type Female = { id: string; gender: 'female' }
type User = Male | Female
const users: User[] = [
{ id: '1', gender: 'male' },
{ id: '2', gender: 'female' },
{ id: '3', gender: 'male' }
]