객체 모양이 자라나는 여부
라이브러리 확장이나 선언 병합 가능성이 있으면 interface를 우선한다.
객체 계약은 interface가 잘 맞고, 유니온과 제네릭 조합은 type 별칭이 더 직접적으로 표현한다.
라이브러리 확장이나 선언 병합 가능성이 있으면 interface를 우선한다.
Loading | Success | Error 같은 상태는 type 별칭으로
좁히기 흐름을 만든다.
교차 타입과 Result<T> 같은 제네릭 별칭으로
재사용한다.
컨벤션이 정해져 있으면 새 타입보다 기존 패턴과 오류 메시지를 우선한다.
type은 복잡한 타입 표현에 이름을 붙이는 도구이고, interface는 확장될 객체 계약을 드러내는 도구로 보면 선택이 단순해진다.