typescript
유니온타입이란?
Kassy_kim
2023. 3. 20. 23:57
1개의 타입이 아닌 2개 이상의 타입을 지정하는 타입을 유니온타입이라 한다.
//union Type_ 타입 2개 이상 합친 새로운 타입
let member: number | string = 123;
let members: (number | string)[] = [1, "2", 3];
let object: { a: string | number } = { a: "123" };
그렇다면 유니온타입으로 숫자 연산은 가능할까? 정답은 불가능이다.
let age: string | number;
age + 1; //유니온타입일 땐 불가
타입스크립트는 엄격한 자바스크립트이기에 연산이 가능한 타입을 지정해야한다.
따라서 any와 unknown 타입의 경우에도 당연히 불가능하다.
//모든 자료형 허용해줌
let myName: any;
myName = 123;
myName = [];
//모든 자료형을 허용해주지만 any보다는 안전
let yourName: unknown;
yourName = 123;
yourName = {};
yourName - 1; //타입스크립트의 엄격함으로 인해 간단한 수학 연산도 타입이 맞아야 함