[typescript] 유니온 타입과 제네릭을 함께 사용하는 방법은 무엇인가요?

아래는 유니온 타입과 제네릭을 함께 사용하는 간단한 예시입니다.

function printValue<T>(input: T | T[]) {
  if (Array.isArray(input)) {
    input.forEach((value) => console.log(value));
  } else {
    console.log(input);
  }
}

printValue<string>("Hello"); // 단일값 출력
printValue<number[]>([1, 2, 3]); // 배열값 출력

위의 예시에서 printValue 함수는 유니온 타입으로 T 또는 T의 배열을 받아들이며, 제네릭을 사용하여 타입 정보를 보존합니다.

유니온 타입과 제네릭을 함께 사용하면 코드의 유연성과 안정성을 동시에 확보할 수 있습니다.

더 많은 예시와 설명은 TypeScript 공식 문서에서 확인할 수 있습니다(https://www.typescriptlang.org/docs/handbook/2/functions.html#overloads).