[typescript] 타입스크립트에서의 두 개의 타입의 합성 단위 변환 방식

타입스크립트(TypeScript)에서는 두 개의 타입을 합성하여 새로운 타입을 생성하는 다양한 방법을 제공합니다. 이번 글에서는 이러한 합성 방식에 대해 알아보겠습니다.

1. 인터섹션(&)을 사용한 합성

인터섹션은 “AND” 연산과 유사하며, 두 개의 타입을 하나의 새로운 타입으로 합성하는 방법입니다. 예를 들어, 다음과 같이 두 개의 타입을 인터섹션하여 합성할 수 있습니다.

type Cat = { name: string, purrs: boolean };
type Dog = { name: string, barks: boolean };
type CatDog = Cat & Dog;

// CatDog 타입은 { name: string, purrs: boolean, barks: boolean } 형태로 합성됨

위 예제에서 CatDog 타입을 인터섹션하여 CatDog 타입을 정의하였습니다.

2. 유니온(|)을 사용한 합성

유니온은 “OR” 연산과 유사하며, 두 개의 타입 중 하나의 형태를 갖는 새로운 타입을 생성하는 방법입니다. 예를 들어, 다음과 같이 두 개의 타입을 유니온하여 합성할 수 있습니다.

type Cat = { name: string, purrs: boolean };
type Dog = { name: string, barks: boolean };
type CatOrDog = Cat | Dog;

// CatOrDog 타입은 Cat 또는 Dog 형태 중 하나를 갖는 타입으로 합성됨

위 예제에서 CatDog 타입을 유니온하여 CatOrDog 타입을 정의하였습니다.

결론

타입스크립트에서는 인터섹션과 유니온을 통해 두 개의 타입을 합성하여 새로운 타입을 생성할 수 있습니다. 이를 통해 다양한 타입 변환과 유연한 타입 시스템을 구성할 수 있습니다.

더 많은 정보는 타입스크립트 공식 문서에서 확인할 수 있습니다.