[TS] Union vs Intersection Type

Byunghoon Lee·2021년 2월 22일
0

TypeScript

목록 보기
1/1
post-thumbnail

Union type

' | ' 를 이용해 여러 타입을 설정할수 있게 한다.
복수로 사용하게 되면 공통된 타입만 뽑아 낼수 있다.


const Roy : string | number | boolean;

Union type의 특징

두개의 interface를 타입 지정해 놓으면 그중
'공통된' 타입에 있는 key:value 만 사용가능하다.
혹은 여러 타입을 interface로 정해놓고 그중 하나씩 가지고 와도 된다.

interface Developer { 
	name: string;
  	skill: string;
}

interface Person {
  name: string; 
  age: number;
}

function askSomeone(someone: Developer | Person) {
  someone.name;
}
// Developer type
asksomeone({ name: '이로이', skill: '앱 개발'});
// Person type
askSomeone({ name: '뱅뱅', age: 20});

Intersection type

Union type과 같이 여러 타입을 설정할수 있지만,
복수로 사용하게 되면 모든 타입을 뽑아 낼수 있다.

Intersection type의 특징

두개의 interface를 타입 지정해 놓으면
지정해놓은 타입의 모든 key:value를 가져와야한다.

interface Developer { 
	name: string;
  	skill: string;
}

interface Person {
  name: string; 
  age: number;
}

function askSomeone(someone: Developer & Person) {
  someone.name;
}
// Developer & Person type
asksomeone({ name: '이로이', skill: '앱 개발', age:20});

출처 : 타입스크립트 핸드북

profile
Never never never give up!

0개의 댓글