[TS] infer (타입 추론)
TIL
infer는 조건부 타입 내에서 특정 타입을 추론하는 키워드이다.ReturnType 구현함수 타입에서 반환값의 타입만 추출하는 ReturnType을 만들어보자.type ReturnType = T extends () => infer R ? R : never;type FuncA = () => string;type FuncB = () => number;type A = ReturnType; // stringtype B = ReturnType; // number동작 원리조건식 T extends () => infer R에서 infer R은 조건식을 참으로 만드는 최적의 R 타입을 추론하라는 의미다.타입 A를 계산하는 과정은 다음과 같다.1단계: 타입 변수 T에 FuncA가 할당된다.T = () => string2단..