타입 별칭(type alias)이란?

타입 별칭(type alias)은 특정 타입이나 인터페이스 등을 참조할 수 있는 타입 변수를 의미합니다.

즉, 타입에 의미를 부여해서 별도의 이름으로 부르는 것입니다.

타입 별칭은 반복되는 타입 코드를 줄여 줄 수 있습니다.

타입 별칭 예시 코드

// 타입 별칭 정의
type name = string;
let jon: name = "jon"

// 타입 별칭 정의
// string | number 타입을 반복 사용을 줄일 수 있음
type MyMessage = string | number;
function logText(text: MyMessage)  {
 console.log(text);
}
let messageStr: MyMessasge = 'hello';
logText(messageStr);
let messageNum: MyMessage = 10;
logText(messageNum);

타입별칭과 인터페이스의 차이점

타입 별칭과 인터페이스 사용 구분

먼저, 인터페이스를 주로 사용해보고 타입 별칭이 필요할 때 타입 별칭을 쓰는 것이 권장됩니다.

타입 별칭의 사용

타입 별칭으로만 정의 가능한 타입은 주요 데이터 타입, 인터섹션 타입, 유니언 타입입니다. 인터페이스는 객체 타입을 정의할 때 사용되는 타입이므로 아래와 같은 타입은 인터페이스로 정의할 수 없습니다.

type name = string;
type text = string | number;
type Admin = Person & Developer;

타입 별칭은 아래와 같이 유틸리티 타입(utility type)과 맵드(mapped)타입과도 연동하여 사용할 수 있습니다.