한 가지 알아두어야 할 점은 타입 별칭이 인터페이스를 상속할 수도 있고, 인터페이스가 타입 별칭을 상속할 수도 있다는 점입니다.
interface Animal {
name: string;
}
type Dog = Animal & {
bark(): void;
}
type Cat = Animal & {
meow(): void;
}
type Name = Cat['name'];
타입스크립트에서는 대부분 타입 별칭으로 선언한 객체 타입과 인터페이스로 선언한 객체 타입이 호환됩니다.