
여러개의 타입을 합성해 새롭게 만들어낸 타입
- 종류
- 합집합 타입
- 교집합 타입
type Dog = {
name: string;
color: string;
};
type Person = {
name: string;
language: string;
};
type Union1 = Dog | Person;
let union1: Union1 = {
name: "",
color: "",
};
let union2: Union1 = {
name: "",
language: "",
};
let union3: Union1 = {
name: "",
color: "",
language: "",
};
|를 사용하면 두 type 사용 가능union1은 Dog 타입의 프로퍼티를,union2는 Person타입의 프로퍼티를 사용union3은 두 타입의 프로퍼티를 모두 사용 가능⚠️ 오류
let union4: Union1 = {
name: "",
};

union4는 name 프로퍼티만 사용하여 두 집합 사이에 포함되지 않음
&을 사용Number타입과 string타입은 교집합이 불가능하기에 Never타입으로 표기됨type Dog = {
name: string;
color: string;
};
type Person = {
name: string;
language: string;
};
type Intersection = Dog & Person;
let intersection1: Intersection = {
name: "",
color: "",
language: "",
};
Dog타입과 Person타입의 교집합이 되기 위해서는 각각의 타입의 프로퍼티를 모두 가지고 있어야 함.한 입 크기로 잘라먹는 타입스크립트
https://www.inflearn.com/course/한입-크기-타입스크립트/dashboard