union은 하나 또는 두 가지 타입을 결합하는 기능으로서 여러 타입 중 하나 일 수 있는 값을 표현하는 강력한 방법
두개 이상의 데이터 타입잉 파이프 기호 (|)를 사용하여 조합되어 union형식을 나타낸다.
// 1. 변수
let mesg0: string | number; // string과 number 타입을 받을 수 있는 mesg0
mesg0 = 100;
console.log(mesg0); // 100
mesg0 = '홍길동';
console.log(mesg0); // 홍길동
// mesg0 = true; // error
// 2. 함수 파라미터
function x(n: number | string) {
console.log(n);
}
x(100); // 100
x('홍길동'); // 홍길동
// 3. 배열 파라미터
function x(n: number[] | string[]) {
console.log(n);
}
x([1, 2, 3]);
x(['홍길동', '이순신']);
let mesg0: string | number | string[];
mesg0 = 100;
mesg0 = '홍길동';
mesg0 = ['a', 'b', 'c'];
console.log(mesg0);
/// ? 사용 가능
function k(n?: number | string) {
console.log(n);
}
k();
k(100);
k('a');
export {};
// function의 리턴 타입 union
function a(n: any): string | number {
// return type은 string또는 number가 될 수 있다.
return n;
}
const x: string | number = a('홍길동');
const y: string | number = a(2000);
console.log('x = ', x, ' y = ', y); //x = 홍길동 y = 2000