타입스크립트에서 두 인터페이스를 같이 사용해야할 때
interface Phone {
browser: string;
call: string;
}
interface Computer {
vscode: string;
browser: string;
}
Intersection
intersection은 두 타입의 속성을 모두 가져야 한다.
type Intersection = Computer & Phone;
// intersection은 두 타입의 속성을 '모두' 가져야 한다.
const intersection: Intersection = {
browser: "chrome",
vscode: "version 1",
call: "void call",
};
Union
union은 Phone, Computer, 또는 Phone & Computer 일 수 있다.
type Union = Computer | Phone;
// union은 Phone, Computer, 또는 Phone & Computer 일 수 있다.
const phone: Union = {
browser: "chrome",
call: "voice call",
};
const computer: Union = {
browser: "chrome"
}