본문 바로가기
프로그래밍/typescsript

타입스크립트의 Type Aliases (타입 별칭)

by 한코코 2022. 11. 23.

Type Aliases(타입 별칭)이란?

타입 별칭은 특정 타입이나 인터페이스를 참조할 수 있는 타입 변수를 의미한다.

string, number와 같은 간단한 타입말고 interface 레벨의 복잡한 타입에도 별칭을 부여할 수 있다.

// string 타입을 사용할 때
const name: string = 'capt';

// 타입 별칭을 사용할 때
type MyName = string;
const name: MyName = 'capt';

// 타입 별칭을 interface에 사용
type Developer = {
  name: string;
  skill: string;
}

// 타입 별칭을 generic에 사용
type User<T> = {
  name:T
}

 

 

 

 

타입 별칭의 특징

타입 별칭은 새로운 타입 값을 하나 생성하는게 아니라 정의한 타입에 대해 나중에 쉽게 참고할 수 있게 이름을 부여하는 것과 같다.

이런 특징은 VSCode상의 프리뷰 상태로 다른 타입고 어떤 차이점이 있는지 확인해 볼 수 있다.

interface Developer{
  name:string;
  skill:string;
}
let capt3: Developer;

type Developer2 = {
  name:string;
  skill:string;
}
let capt4: Developer2;

서로 속성이 다른 것을 프리뷰로 확인할 수 있다.

 

 

 

타입 별칭 vs 인터페이스

타입 별칭과 인터페이스의 가장 큰 차이점은 타입 확장 가능 / 불가능 여부다.

인터페이스는 확장 가능하지만 타입 별칭은 확장이 불가능하므로 되도록 type보다 interface로 선언해서 사용하자

 

 

 

 

참고 사이트 : 공식 타입스크립트 핸드북

댓글