본문 바로가기
typescript

[typescript] 교차 타입 Intersection Type

by dev__log 2024. 4. 1.

교차 타입

교차 타입(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