타입 별칭에서도 상속처럼 작업할 수 있습니다.

    type Animal = {
      name: string;
    }
    type Dog = Animal & {
      bark(): void;
    }
    type Cat = Animal & {
      meow(): void;
    }
    type Name = Cat['name'];
    

    이전 절에서 배운 & 연산자를 사용해 상속을 나타낼 수도 있습니다. 상속받는다는 것은 더 좁은 타입이 된다는 것을 의미하므로 & 연산자를 사용하여 교집합을 나타내면 됩니다. Cat 타입에 name 속성을 선언하지 않았음에도 Name 타입이 string이 되는 것을 확인할 수 있습니다. Animal 타입으로부터 name 속성을 상속받았기 때문입니다.

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.