[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 공식 문서의 인터섹션 타입 부분을 참고하시기 바랍니다.