Generic Utility

pluck은 객체 키와 반환 타입을 제네릭으로 연결하는 대표 예제다

키 이름을 문자열로 받더라도 keyof와 제네릭을 쓰면 존재하지 않는 속성 접근을 컴파일 단계에서 막을 수 있다.

타입 연결 구조

keyof

객체 타입 T

입력 객체 전체의 형태를 제네릭 타입으로 받는다.

키 타입 K

K extends keyof T로 실제 존재하는 키만 허용한다.

반환 타입

T[K]를 사용해 선택한 키에 맞는 값 타입을 그대로 돌려준다.

안전한 재사용

여러 객체에서 같은 함수를 쓰면서도 타입 검사를 유지한다.

객체 타입허용 키속성 선택반환 값
타입 조건

제네릭 유틸리티는 값을 유연하게 받기 위해 타입 정보를 버리는 것이 아니라, 입력과 출력의 관계를 보존하는 방식이다.