목적
타입을 확장
할때와 타입을 조건부 설정
할때 사용
타입 확장
// 타입 확장
interface Animal {
name: string;
}
interface Dog extends Animal {
breed: string;
}
const myDog: Dog = {
name: 'Buddy',
breed: 'Golden Retriever',
};
조건부 타입에서의 extends
type IsString<T> = T extends string ? 'String 타입입니다' : 'String 타입이 아닙니다';
// 타입 체크
type A = IsString<string>; // 'String 타입입니다'
type B = IsString<number>; // 'String 타입이 아닙니다'
제네릭 타입에서는 한정자 역할
로도 사용
function printLength<T extends { length: number }>(value: T): void {
console.log(value.length);
}
// 사용 예시
printLength('Hello'); // 출력: 5
printLength([1, 2, 3]); // 출력: 3
// printLength(123); // 오류: number 타입에는 'length' 속성이 없습니다.
사용 방법
T extends U ? X : Y
활용 예시
특징
사용 방법
목적(책에 없는 내용)