유니온 타입을 이용해 “여러 경우 중 하나”인 타입을 표현할 수 있다.
어떤 타입이 가질 수 있는 경우의 수를 나열할 때 사용하는 유니온 타입으로 함수의 반환 타입을 표현할 수 있다.
문법
유니온 타입은 가능한 모든 타입을 파이프(|
) 기호로 이어서 표현한다. “ A
또는 B
타입일 수 있는 타입”을 A | B
로 쓰는 식이다. square 함수의 타입은 아래와 같이 적을 수 있다.
function square(value: number, returnString: boolean = false): string | number {
/* 본문 동일 */
}
const stringOrNumber: string | number = square(randomNumber, randomBoolean);
타입 별칭 문법을 사용해 유니온 타입에 이름을 붙일 수 있다. 자주 사용되는 타입, 또는 인라인으로 작성하기에 너무 복잡한 타입의 경우 이 방식을 추천한다.
type SquaredType = string | number;
function square(value: number, returnOnString: boolean = false): SquaredType {
/* 본문 동일 */
}
유니온 타입이 가질 수 있는 타입의 수가 꼭 2개일 필요는 없다. 몇 개든 이어가며 정의할 수 있다.
type Whatever = number | string | boolean;
여러 줄에 걸친 유니온 타입
여러 줄에 걸쳐 유니온 타입을 적을 때에는 보통 아래와 같이 정렬을 맞춘다.
type Fruits
= Apple
| Banana
| Cherry;
type Fruits =
| Apple
| Banana
| Cherry;