[typescript] 유니온 타입을 활용한 다양한 예시 코드를 보여주세요.

유니온 타입(Union Type)은 TypeScript에서 여러 타입 중 하나가 될 수 있는 값을 정의하는 방법입니다. 이를 통해 여러 다양한 상황에 대응하는 코드를 작성할 수 있습니다. 아래는 유니온 타입을 활용한 간단한 예시 코드들을 보여드리겠습니다.

예시 1: 숫자 또는 문자열을 입력받는 함수

function printId(id: number | string) {
    console.log(id);
}

printId(101); // 유효한 숫자 입력
printId('USR001'); // 유효한 문자열 입력
// printId(true); // 에러 - 부적합한 타입

위 예시에서 printId 함수는 숫자 또는 문자열을 입력받아 출력하는 함수입니다. 이때 id 매개변수의 타입을 number | string으로 지정하여 숫자 또는 문자열이 올 수 있도록 했습니다.

예시 2: 유니온 타입을 활용한 객체 속성 정의

interface Car {
    make: string;
    model: string;
    year: number;
    isNew: boolean;
    features: string[] | null;
}

let myCar: Car = {
    make: 'Toyota',
    model: 'Camry',
    year: 2021,
    isNew: true,
    features: ['Navigation', 'Bluetooth']
};

위 예시에서 Car 인터페이스의 features 속성은 문자열 배열 또는 null을 허용하는 유니온 타입으로 정의되어 있습니다.

이렇게 유니온 타입은 다양한 상황에서 유연한 타입 정의를 가능하게 해주는데, 코드의 확장성과 유지보수성을 향상시킬 수 있는 강력한 도구입니다.

더 많은 TypeScript 기능과 사용 방법은 TypeScript 공식 문서에서 확인할 수 있습니다.