[typescript] 타입스크립트에서의 다중 타입 지정 방법에는 어떤 것이 있나요?

다중 타입 지정 방법

1. 유니언 타입 (Union Types)

여러 타입 중 하나일 수 있는 값을 표현할 때 사용됩니다. | 기호를 사용하여 복수의 타입을 지정합니다.

예시:

let phoneNumber: string | number;
phoneNumber = "010-1234-5678"; // 문자열
phoneNumber = 1234567890; // 숫자

2. 제네릭 (Generics)

함수, 클래스, 인터페이스를 정의할 때, 사용될 타입을 미리 지정하지 않고 나중에 결정할 수 있도록 해줍니다.

예시:

function identity<T>(arg: T): T {
  return arg;
}

let output = identity<string>("hello"); // 문자열을 전달하고 해당 타입을 반환

3. 타입 앨리어스 (Type Aliases)

타입에 별칭을 지정하여 재사용 가능한 타입을 정의할 수 있습니다.

예시:

type StringOrNumber = string | number;
let value: StringOrNumber;
value = "abc"; // 문자열
value = 123; // 숫자

위의 방법들을 조합하여 보다 복잡한 다중 타입도 표현할 수 있습니다. 타입스크립트는 다양한 방법을 제공하여 유연하고 강력한 타입 시스템을 구축할 수 있도록 도와줍니다.