pluck은 key 제약과 반환 타입 보존을 함께 보여준다
객체와 key 목록을 받는 순간, key가 객체에 실제 존재하는지와 반환 배열의 원소 타입이 함께 결정된다.
Object T
원본 객체 타입 입력
Key K
K extends keyof T로 제한
Read T[K]
각 key의 value 타입 추출
Return T[K][]
선택한 값들의 배열로 반환
| 점검 | 기준 |
|---|---|
| 없는 key | 컴파일 단계에서 차단 |
| 여러 key | value 타입 union이 배열 원소가 됨 |
| 핵심 | key와 반환 타입을 같은 제네릭 관계로 묶는다 |
핵심 key와 반환 타입을 같은 제네릭 관계로 묶는다