TypeScript

조건부 타입과 제네릭

조건부 타입은 입력 타입이 특정 구조를 만족하는지 검사해 다른 결과 타입을 선택합니다. 여기에 제네릭을 결합하면 함수 인자, 응답 객체, 유니온 멤버처럼 호출 지점마다 달라지는 타입을 기준으로 결과를 계산할 수 있습니다.

조건부 타입이 제네릭 입력에 따라 결과 타입을 분기하는 방식을 확인합니다.

1

제네릭 타입 변수를 활용한 조건부 타입

조건부 타입은 제네릭 타입 변수의 속성에 따라 다른 타입을 반환할 수 있습니다.

조건부 타입
2

분산 조건부 타입과 제네릭의 시너지

5장 2절에서 다룬 분산 조건부 타입(Distributive Conditional Types)은 유니온의 각 멤버를 따로 평가한 뒤 다시 유니온으로 합칩니다.

제네릭(Generics)
3

infer 키워드와 제네릭의 조합

5장 2절에서 다룬 infer 키워드는 조건부 타입 내에서 타입 변수를 추론하여 사용할 수 있게 해주며, 함수 반환값이나 배열 요소처럼 내부 타입을 안전하게 꺼낼 때 쓰입니다.

infer