프로그래밍/typescsript
타입스크립트의 Type Aliases (타입 별칭)
한코코
2022. 11. 23. 14:08
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로 선언해서 사용하자
참고 사이트 : 공식 타입스크립트 핸드북