타입 별칭에서도 상속처럼 작업할 수 있습니다.
type Animal = {
name: string;
}
type Dog = Animal & {
bark(): void;
}
type Cat = Animal & {
meow(): void;
}
type Name = Cat['name'];
이전 절에서 배운 & 연산자를 사용해 상속을 나타낼 수도 있습니다. 상속받는다는 것은 더 좁은 타입이 된다는 것을 의미하므로 & 연산자를 사용하여 교집합을 나타내면 됩니다. Cat 타입에 name 속성을 선언하지 않았음에도 Name 타입이 string이 되는 것을 확인할 수 있습니다. Animal 타입으로부터 name 속성을 상속받았기 때문입니다.