Primitive, Union Type, Tuple, Funcion 등을 다른 이름으로 부르기 위함이다.
기타 직접 장성해야하는 타입을 다른 이름을 지정할 수 있다.
만들어진 타입의 refer 로 사용하는 것이지 타입을 만드는 것이 아니다.
// Alisasing Primitive
type MyStringType = string;
const str = 'world';
let myStr: MyStringType = 'hello';
// Alisasing Union Type
let person: string | number = 0
person = 'malza';
type StringOrNumber = string | number;
let another: StringOrNumber = 0;
another = 'Mal';
// Alisasing Tuple
let person: [string, number] = ['malza', 29];
type PersonTuple = [string, number];
let another: PersonTuple = ['Anna', 23];
// Alisasing Function
type EatType = (food: string) => void
명확하게 정해졌다고 하기보단? 자기만의 기준.. 팀의 기준..
interface: 타입이 목적이나 존재 가치가 명확하다면
type: 대상을 가리킬 뿐이거나, 별명으로써만 존재한다면