[TS] 조건부 타입과 infer를 활용한 타입 추론 연습
TIL
1. 조건을 만족하는 IsProductKey 타입 완성IsProductKey 타입- T가 Product의 key 중 하나일 경우 결과는 true 타입- T가 Product의 key 중 하나가 아닐 경우 결과는 false 타입interface Product { id: number; name: string; price: number; seller: { id: number; name: string; company: string; };}type IsProductKey = any;​type IsProductKey = T extends keyof Product ? true: false; 2. 조건을 만족하는 Extract 타입 구현Extract- T로부터 U만 추출하는 타입type Extr..
[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단..