
프론트엔드
ts-pattern은 더 멋진 if문이 아니다
두줄요약
ts-pattern은 복잡한 조건 분기를 타입 안전하게 정리해 주지만, 성능은 기본 제어문보다 떨어질 수 있다고 설명했습니다. 단순한 분기에는 if/else, switch, IIFE 같은 방식이 더 적합할 수 있다고 정리했습니다.
핵심 내용
- ts-pattern은 복잡한 조건부 분기를 간결하게 쓰고 타입 추론을 돕는 패턴 매칭 라이브러리
- 다만 기본 if/else, switch, 삼항 연산자보다 성능이 떨어질 수 있어 무조건 대체재로 보긴 어려움
- 복잡도가 낮은 분기에서는 early return, switch, IIFE, SwitchCase 컴포넌트 같은 대안을 함께 고려할 수 있음
- 핵심은 도구 의존보다 상황에 맞는 더 단순하고 안전한 분기 구조를 선택하는 사고 방식
장단점
- 장점: 선언적 표현, exhaustiveness 체크, 타입 안전성 향상
- 단점: 내부 패턴 계산과 체이닝 구조로 인한 성능 저하 가능성
- 복잡한 타입 분기에는 유용하지만 단순 분기에는 오버엔지니어링이 될 수 있음
적용해볼 점
- 복잡한 분기인지 먼저 판단한 뒤 ts-pattern 도입 여부 검토
- 단순한 경우는 if/else, switch, early return으로 정리
- JSX에서는 IIFE나 전용 분기 컴포넌트로 가독성 확보