인프런 한입크기로 잘라먹는 타입스크립트 - 이정환님의 강의를 보고
내용을 정리한 포스팅입니다
여러개의 타입을 합성해서 새롭게 만들어낸 타입 1.합집합 타입 2.교집합 타입이 존재합니다
| 를 이용해서 연결할 수 있고 연결갯수의 제한은 없습니다.
let a: string | number;
a = 1;
a = "hello";
let arr: (number | string | boolean)[] = [1, "hello", true];
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: "",
};
let union4: Union1 = {
// 오류가 출력됩니다.
name: "",
};


기본타입으로 교집합 타입을 만들면 거의 Never 타입이 됩니다.
let variable: number & string;
type Dog = {
name: string;
color: string;
};
type Person = {
name: string;
language: string;
};
type Intersection = Dog & Person;
let intersection1: Intersection = {
name: "",
color: "",
language: "",
};