타입 앨리어스는 새로운 타입을 정의한다. 인터페이스와 유사하다. 타입 앨리어스는 원시값, 유니온 타입, 튜플 등도 타입으로 지정할 수 있다.
//인터페이스와 타입앨리어스
interface Person {
name: string;
age?: number;
}
type Person = {
name: string.
age?: number
}
const person = {} as Person;
type Str = 'string';
type Union = string | null;
type Obj = {a: 1} | {b: 1};
//타입앨리어스는 인터페이스를 유니온 타입 형식으로 지정하는 것도 가능하다
type Shape = Square | Rectangle | Circle;
type Tuple = [string, number, boolean];
✨ 인터페이스는 extends, implements
를 사용하여 상속이 가능하지만 타입앨리어스는 불가능하다. 상속을 통하여 확장이 필요한 경우는 인터페이스를 사용하는 것이 좋다.
인터페이스로 표현이 어려운 유니온 타입이나 튜플 타입 설정이 필요한 경우 타입앨리어스를 사용해 준다.