값의 타입에 따라 수행할 수 있는 연산이 달라진다
타입에도 동작을 수행할 수 있다
타입스크립트가 별칭을 추론하지는 않기 때문에
별칭 타입은 반드시 명시해야 한다
type Age = number
type Person = {
name: string
age: Age
}
let age: Age = 55
// 55는 number로 추론 가능하므로 :Age는 생략 가능
let driver: Person = {
name: 'James May',
age: age
}
let, const 변수 선언과 마찬가지로 하나의 타입을 두 번 선언할 수 없고, 블록 레벨 스코프를 가진다
타입 별칭은 복잡한 타입을 DRY (Don't Repeat Yourself) 하도록 해주며, 변수의 목적을 쉽게 이해할 수 있도록 도와준다
하지만 타입을 직접 명시하는 것을 선호하는 사람도 있다
유니온: | (or) 합집합
인터섹션: & (and) 교집합
주로 유니온 타입은 자주 사용된다
특히 이형 배열일 떄