타입스크립트의 Type Alias와 Interface의 공통점과 차이점을 중심으로 상황에 따라 맞는 것을 사용한다.
Type Alias와 Interface는 객체의 타입의 이름을 지정하는 방법이다.
type pet= 'cat' | 'dog'
//error
interface PetInterface{
[key in pet]: string
}
type pet= 'cat' | 'dog'
type PetType{
[key in pet]: string
}
객체의 타입을 정의, 상속을 통한 확장이 필요, 타입 간 합성의 성능이 중요한 경우에는 Interface를 사용하고
인터페이스로는 표현할 수 없는 원시, 유니온, 튜플 타입의 정의하는 경우에는 Type Alias를 사용하는 것이 좋다.
https://yceffort.kr/2021/03/typescript-interface-vs-type
https://typescript-kr.github.io/pages/advanced-types.html#%EC%9D%B8%ED%84%B0%ED%8E%98%EC%9D%B4%EC%8A%A4-vs-%ED%83%80%EC%9E%85-%EB%B3%84%EC%B9%AD-interfaces-vs-type-aliases
https://poiemaweb.com/typescript-alias