Skip to content

Latest commit

 

History

History
25 lines (17 loc) · 3.25 KB

File metadata and controls

25 lines (17 loc) · 3.25 KB

Type Lookup 보통 #union #map

by Anthony Fu @antfu

도전하기    English 简体中文 日本語

Type Lookup medium #union #map

by Anthony Fu @antfu

도전하기    English 简体中文 日本語

때때로 유니온 타입의 특정 속성을 기준으로 조회할 수도 있습니다.

이 챌린지에서는 유니온 타입 Cat | Dog에서 공통으로 사용하는 type 필드를 기준으로 해당하는 타입을 얻고자 합니다. 다시 말해서, 다음 예시에서는 LookUp<Cat | Dog, 'dog'>으로 Dog 타입을, LookUp<Cat | Dog, 'cat'>으로 Cat 타입을 얻을 수 있습니다.

interface Cat {
  type: 'cat'
  breeds: 'Abyssinian' | 'Shorthair' | 'Curl' | 'Bengal'
}

interface Dog {
  type: 'dog'
  breeds: 'Hound' | 'Brittany' | 'Bulldog' | 'Boxer'
  color: 'brown' | 'white' | 'black'
}

type MyDogType = LookUp<Cat | Dog, 'dog'> // 기대되는 결과는 `Dog`입니다.

돌아가기 정답 공유하기 정답 보기