type alias

복잡한 타입에 의미 있는 이름을 붙인다

타입 별칭은 새 타입을 만드는 값이 아니라, 기존 타입 표현을 읽고 재사용하기 쉬운 이름으로 묶는다.

반복되는 타입 표현

string | number

호출부마다 직접 쓰면 같은 의미인지 한눈에 알기 어렵다.

의도를 드러내는 이름

type UserId = string | number;

이후에는 UserId만 사용해 경계를 공유한다.

선택지 type State = "idle" | "done"; 유니온에 업무 의미를 부여한다.
객체 조합 type Admin = User & Role; 인터섹션으로 기존 모양을 합친다.
함수 계약 type Handler = (id: UserId) => void; 시그니처 전체를 재사용한다.

컴파일 단계 전용: 별칭은 타입 검사 뒤 사라지므로 런타임 검증이나 새 객체를 만들지 않는다.