[typescript] 인터섹션 타입을 이용한 다중 타입 예시를 알려주세요.

아래 예시는 인터섹션 타입을 사용하여 다중 타입을 조합한 것입니다.

type Dog = {
  name: string;
  breed: string;
  age: number;
};

type CanRun = {
  run: () => void;
};

type DogWithRunningAbility = Dog & CanRun;

const runningDog: DogWithRunningAbility = {
  name: "Buddy",
  breed: "Golden Retriever",
  age: 3,
  run: () => {
    console.log("The dog is running.");
  },
};

위 예시에서 DogCanRun 두 개의 타입을 인터섹션하여 DogWithRunningAbility라는 새로운 타입을 정의하고 있습니다. 이렇게 함으로써 Dog 타입의 속성과 CanRun 타입의 속성을 모두 가지고 있는 새로운 타입을 만들어냅니다.

자바스크립트 객체의 멤버를 여러 개의 인터페이스 또는 타입에 걸칠 수 있고, 이를 조합한 새로운 객체를 만들 때 유용하게 활용할 수 있습니다.

자세한 내용은 TypeScript 공식 문서의 인터섹션 타입 부분을 참고하시기 바랍니다.