아이템7
타입을 값들의 집합이라 생각하기
- 타입은 할당가능한 집합의 범위이다.
NEVER: 공집합으로 값을 가질 수 없다.유닛: 한 가지 타입만을 가진다.
type A = "A"
유니온: 2개 혹은 세개로 묶는다.
type B = "A" | "B";
연산자
&연산자는 두 타입의 교집합을 구한다. (속셍의 교집합이 아닌 범위의 교집합으로)- 밑과 같은 집합이 생성됨을 알 수있다.
interface Person{
name : string
}
interface : Lifespan{
birth : Date
}
type PersonSpan = Person & Person
const ps : PersonSpan {
name : "Alan Turing"
birth : new Date("2000.11.21")
}
- 다만
|유니온 타입은 두 속성의 교집합이 기준임으로
interface Person{
name : string
}
interface : Lifespan{
birth : Date
}
type PersonSpan = Person & Person
PersonSpan는Never이다.