타입스크립트 브랜디드 타입: 컴파일 시간에 사용자 ID, 주문 ID, 제품 ID 혼동 방지
(dev.to)
타입스크립트의 '브랜디드 타입(Branded Types)'을 활용하여 서로 다른 성격의 ID(UserId, OrderId 등)를 구분함으로써, 런타임 비용 없이 컴파일 단계에서 치명적인 로직 오류를 방지하는 기술적 방법론을 설명합니다. 특히 Zod와 결합하여 API 경계에서 데이터 검증과 타입 안전성을 동시에 확보하는 실전 패턴을 제시합니다.
이 글의 핵심 포인트
- 1기존 string 타입 사용 시 UserId와 OrderId를 혼동해도 TypeScript가 에러를 감지하지 못함
- 2브랜디드 타입은 런타임 오버헤드 없이 타입 시스템에만 존재하는 '태그'를 추가하는 방식임
- 3