TypeScript 고급 타입 패턴

ADVANCED TYPE PATTERNS Props 규칙을 타입으로 먼저 막는다
컴포넌트가 커질수록 런타임 조건문보다 타입 단계에서 잘못된 조합을 차단하는 편이 안정적입니다.
Union Propshref가 있으면 링크, onClick이 있으면 버튼처럼 허용 조합을 나눕니다.
never동시에 오면 안 되는 prop을 명시적으로 금지합니다.
Utility TypePick, Omit, Partial로 중복 정의를 줄입니다.
Generic데이터 모양이 달라도 재사용 가능한 컴포넌트 계약을 만듭니다.
type ButtonProps = AnchorProps | HtmlButtonProps;