exclusive props
동시에 오면 안 되는 속성
href와 onClick처럼 하나만 허용할 값은
유니온과 never로 막습니다.
Advanced Types
조건부 Props, 유틸리티 타입, 제네릭, 타입 가드, 유니온 검사는 서로 다른 문제를 해결합니다. 타입을 어렵게 만드는 대신 위험한 상태를 줄이는 데 씁니다.
exclusive props
href와 onClick처럼 하나만 허용할 값은
유니온과 never로 막습니다.
shape reuse
Partial, Pick, Omit으로 API
응답과 편집 폼의 차이를 명시합니다.
data generic
테이블, 셀렉트, 리스트처럼 항목 타입이 매번 다르면 제네릭으로 렌더링 계약을 보존합니다.
runtime guard
서버 응답이나 사용자 입력은 타입 가드로 확인한 뒤 세부 속성에 접근합니다.
state union
loading, success, error는 Discriminated Union과
assertNever로 빠진 분기를 찾습니다.
config literal
as const와 satisfies를 함께 써서 값의
리터럴성과 구조 검증을 모두 지킵니다.
팀 코드: 한 번에 이해하기 어려운 타입은 이름을 붙여 의도를 드러냅니다.
리팩토링: 런타임 테스트와 타입 검사를 함께 두면 분기 추가가 더 안전해집니다.