교차 타입
교차 타입(Intersction Type)은 & 기호를 사용하여 여러 타입을 조합하여 하나의 타입으로 만들 수 있다.
객체의 경우
조합한 모든 타입을 가져야하고 하나라도 없을 경우 에러가 발생한다.
type Color = {
code : string;
}
type Animal = {
name: string;
}
type Cow = Color & Animal;
const brownCor : Cow = {
name:'ddd',
code:'#693f00'
}
Color 의 code 타입과 Animal의 name 타입을 조합하여 Cow 타입을 만들었다.
객체가 아닌 경우
객체가 아닌 경우에도 사용할 수 있는데, 공통된 타입으로 판단한다.
type T1 = string | number;
type T2 = number | boolean;
type T3 = T1 & T2; //같은 타입이 number라서 number로 결정됨.
const dd : T3 = 3434;
const aa : T3 = 'test'; //에러 발생
위 코드와 같이 교차 타입을 만들 경우 공통된 타입은 number 이기 때문에 T3 타입은 number 로 판단되어 string 을 할당한 aa 는 에러가 발생한다.
'typescript' 카테고리의 다른 글
유틸리티 타입 (0) | 2024.03.05 |
---|---|
typescript 기본 타입 (0) | 2024.03.04 |