[typescript] 유니온 타입과 교차 타입의 차이점과 사용 방법

개요

유니온 타입과 교차 타입은 TypeScript에서 타입 시스템을 강화하는 데 사용됩니다. 이 두 가지 타입을 사용하면 변수 또는 매개변수의 타입이 복잡한 조건을 나타낼 수 있습니다.

유니온 타입 (Union Types)

유니온 타입은 여러 개의 타입 중 하나일 수 있는 값을 표현합니다.

type MyType = number | string;
let value: MyType;
value = 10; // 올바른 할당
value = "hello"; // 또 다른 올바른 할당
value = true; // 오류: boolean은 MyType에 할당될 수 없음

위의 예제에서 MyType은 숫자 또는 문자열 타입의 값을 가질 수 있습니다.

교차 타입 (Intersection Types)

교차 타입은 여러 타입을 모두 포함하는 새로운 타입을 만듭니다.

type FirstType = { a: number };
type SecondType = { b: string };
type CombinedType = FirstType & SecondType;
let value: CombinedType;
value = { a: 10, b: "hello" }; // 올바른 할당
value = { a: 10 }; // 오류: b 속성이 없음
value = { b: "hello" }; // 오류: a 속성이 없음

위의 예제에서 CombinedTypeFirstTypeSecondType의 속성을 모두 가지고 있어야 합니다.

결론

유니온 타입과 교차 타입은 TypeScript에서 강력한 타입 시스템을 구축하는 데 유용한 도구입니다. 유니온 타입은 여러 타입 중 하나일 수 있는 값을 표현하고, 교차 타입은 여러 타입을 모두 포함하는 새로운 타입을 만들어냅니다.

내부 링크:

참고 문헌: