[캡틴판교 TS] 섹션 6. 타입 별칭
포스트
취소

[캡틴판교 TS] 섹션 6. 타입 별칭

타입 별칭이란?

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

1
2
3
4
5
6
// string 타입을 사용할 때
const name: string = 'capt';

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

복잡한 타입 별칭

간단한 타입 뿐만 아니라 interface 레벨의 복잡한 타입에도 별칭을 부여할 수 있다.

1
2
3
4
type Developer = {
  name: string;
  skill: string;  
}


타입 별칭 예제 코드

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

1
2
3
4
5
6
7
8
9
type MyString = string;
var str: MyString = 'hello';

type Todo = { id: string; title: string; done: boolean};

// 위에 있는 타입(Todo) 사용하기
function getTodo (todo: Todo) {
  ...
}

타입을 별칭으로 사용하면 좀 더 쉽게 타입을 지정할 수 있고, 코드의 가독성이 올라간다.


type vs interface

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

우선 interface 로 정의한다면, 다음과 같이 나온다.

1
2
3
4
interface Person2 {
  name: string;
  age: number;
}

위에 작성한 코드를 타입 별칭으로 정의한다면?

1
2
3
4
type Person2 = {
  name: string;
  age: number;
}

마우스가 focus가 되면, 각 타입을 확인할 수 있다.

가장 큰 차이점

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

따라서, type 보다는 interface 로 선언해서 사용하는 것이 좋다.


추천 문서


🧸 Feelings …

타입 별칭보다는 인터페이스로 선언해서 사용하는 것이 좋다는 것만 기억하자..!


Reference

[캡틴판교 TS] 타입스크립트 입문 - 기초부터 실전까지
타입스크립트 핸드북


본 포스팅은 캡틴판교 강사님의 타입스크립트 입문 - 기초부터 실전까지 강의를 수강하고 난 후, 본인의 주관적인 견해에 의하여 작성되었습니다.

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.