<aside> 🧵 한눈에 보는 타입스크립트 - HEROPY Tech(링크) 참고하여 개념 정리 🙂
</aside>
<aside> 💎 타입스크립트 입문 - 기초부터 실전까지(링크) 훑어보며 개념 복기 + 실전 예제 적용
</aside>
<aside> 🧞♂️ 실전 프로젝트로 배우는 타입스크립트 - 실전 적용 사례
</aside>
<aside> 🦋 타입스크립트 올인원 : 기본 문법편 + 실전 분석편
</aside>
type Union<T> = T extends { a: () => infer U; b: () => infer U } ? U : never;
type Result1 = Union<{ a: () => 1 | 2; b: () => 2 | 3 }>; //
type Intersection<T> = T extends { a: (pa: infer U) => void; b: (pb: infer U) => void } ? U : never;
type Result2 = Intersection<{ a: (pa: 1 | 2) => void; b: (pb: 2 | 3) => void }>; //
type IsNever<T> = [T] extends [never] ? true : false;
type A1 = IsNever<never>; // true
type A2 = IsNever<boolean>; // false
interface VO {
value: any;
}
const returnVO = <T extends VO>(): T => {
return { value: "test" };
};
function onlyBoolean<T extends boolean>(value: T = false): T {
return value;
}
onlyBoolean("hi");
onlyBoolean(false);
function double<T extends [T] extends [string] ? string : number>(x: T): [T] extends [string] ? string : number {
return x;
}
double("hi");
double("123");