[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.");
},
};
위 예시에서 Dog와 CanRun 두 개의 타입을 인터섹션하여 DogWithRunningAbility라는 새로운 타입을 정의하고 있습니다. 이렇게 함으로써 Dog 타입의 속성과 CanRun 타입의 속성을 모두 가지고 있는 새로운 타입을 만들어냅니다.
자바스크립트 객체의 멤버를 여러 개의 인터페이스 또는 타입에 걸칠 수 있고, 이를 조합한 새로운 객체를 만들 때 유용하게 활용할 수 있습니다.
자세한 내용은 TypeScript 공식 문서의 인터섹션 타입 부분을 참고하시기 바랍니다.