타입 별칭은 특정 타입이나 인터페이스를 참조할 수 있는 타입 변수를 의미한다.
type MyName = string;
const name: MyName = 'capt'
type Developer = {
name: string;
skill: string;
}
변수를 지정하듯이 type
뒤에 해당 타입의 이름 그리고 값을 할당 해주면 된다.
다음과 같이 제네릭도 사용할 수 있다.
type User<T> = {
name: T
}
타입 별칭은 새로운 타입 값을 하나 생성하는 것이 아니라
정의한 타입에 대해 나중에 쉽게 참고할 수 있게 이름을 부여하는 것과 같다.
interface
에 타입을 부여하면 vscode에서 프리뷰 상태로 interface로 보이며,
type
에 타입을 부여하면 해당 타입의 상세 값까지 보인다.
타입 별칭과 인터페이스의 가장 큰 차이점은 타입의 확장 가능 / 불가능 여부이다.
인터페이스는 확성이 가능 타입 별칭은 확장이 불가능하다.
따라서, 가능한한 type
보다는 interface
선언해서 사용하는 것을 추천한다.