타입스크립트 - 연산자를 이용한 타입 정의

SEONGJIN LEE·2022년 3월 10일
0

typeScript

목록 보기
7/8

1. 연산자를 이용한 타입정의 - Union Type "|"

유니온 타입(Union Type)이란?

자바스크립트의 OR 연산자(||)와 같이 A이거나 B이다 라는 의미의 타입

예시를 통해 의미를 파악해보자!

자료 1)
> Value의 타입이 string인데 number가 들어가서 오류가 남

자료 2)
> 이를 해결하기 위해 any로 지정하면 type을 지정하지 않은 것과 같음

자료 3)
> 이때 Union type “|” (or 연산자)를 사용 하여 이를 해결 할 수 있음

2. 유니온 타입의 장점

1) 타입을 지정하여 오류로부터 비교적 자유로워 질 수 있다
2) 타입 추론을 통해 자동완성기능을 제공하며 이로 인한 개발 생산성 향상

자료 4) 자동 완성 실패의 예시

자료 5) 추론을 통한 자동완성의 예시

3. 유니온 타입의 특징

getSomeone() 함수는 developer와 person 타입을 모두 가질 수 있다. 따라서 둘의 공통인 name이라는 속성을 사용 가능하다. 그러나 skill과 age는 인자로 들어올 someone의 타입에 따라 정의 되어 질 수 도 있고 정의가 불가능 할 수도 있다. 이를 typescript에서 추론하여 오류를 나타내고 있음.

4. 인터섹션 타입 소개

인터섹션 타입(Intersection Type)이란?

인터섹션 타입(Intersection Type)은 여러 타입을 모두 만족하는 하나의 타입을 의미

자료 6)
> 유니온타입과 다르게 인터셉션 타입에서는 skill과 age가 오류 처리 되어 있지 않음. 그 이유는 getSomeone함수에서 사용될 someone이라는 인자는 developer와 person의 속성을 모두 만족하는 하나의 타입을 의미.

이처럼 & 연산자를 이용해 여러 개의 타입 정의를 하나로 합치는 방식을 인터섹션 타입 정의 방식이라고 한다.

자료 7) 인터섹션 타입

profile
조금 늦어도 꾸준하게

0개의 댓글