호이로그
close
프로필 배경
프로필 로고

호이로그

  • 분류 전체보기 (698) N
    • 개발 (346)
      • C언어 (0)
      • PHP (6)
      • JAVA (70)
      • Python (10)
      • Typescript (105)
      • HTML (0)
      • DB (52)
      • NestJS (3)
      • 리눅스 (53)
      • 구글지도 (29)
      • 기타 (18)
    • IT 테크 (286) N
      • 리뷰 (110)
      • AI (43) N
      • 기타 (131)
    • 전자회로 & 부품 (44)
    • 디지털 행정 & 자동화 실무 가이드 (7)
    • 기타 (2)
  • 홈
  • 태그
  • 방명록

[TYPESCRIPT] Discriminated Union 패턴으로 안전한 분기 처리 - 타입으로 보장하는 조건 분기

실무에서 상태값이나 응답 타입, 이벤트 타입을 처리하다 보면 “이 값이 어떤 형태인지”에 따라 분기해야 하는 경우가 매우 많습니다. 이때 단순한 if / else 분기만으로는 타입 안정성을 완전히 보장하기 어렵습니다.TypeScript에서는 이러한 문제를 해결하기 위해 Discriminated Union(식별 가능한 유니온) 패턴을 제공합니다. 이 패턴을 사용하면 컴파일 단계에서 분기 누락과 잘못된 접근을 모두 차단할 수 있습니다. Discriminated Union이란?Discriminated Union은 다음 두 가지 조건을 만족하는 유니온 타입입니다.모든 타입이 공통된 식별자 필드를 가진다그 필드는 리터럴 타입이다type Loading = { status: "loading";};type Succe..

  • format_list_bulleted 개발/Typescript
  • · 2025. 12. 18.
  • textsms

[TYPESCRIPT] Discriminated Union 패턴으로 안전한 분기 처리 — 타입 안전성을 극대화하는 조건 분기

TypeScript에서 여러 타입을 하나의 유니온으로 묶어 처리할 때, 런타임 오류 없이 안전하게 분기 처리할 수 있는 패턴이 있습니다. 그것이 바로 Discriminated Union(식별 가능한 유니온) 패턴입니다.특정 공통 필드(식별자, discriminant)를 통해 타입을 구분하는 방식이며, 프론트엔드 상태 관리, API 응답, 이벤트/액션 모델링에서 널리 활용됩니다. Discriminated Union의 기본 구조다음 세 타입에는 type이라는 공통된 속성이 존재합니다.type Loading = { type: "loading";};type Success = { type: "success"; data: string;};type Error = { type: "error"; message:..

  • format_list_bulleted 카테고리 없음
  • · 2025. 12. 16.
  • textsms
  • navigate_before
  • 1
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (698) N
    • 개발 (346)
      • C언어 (0)
      • PHP (6)
      • JAVA (70)
      • Python (10)
      • Typescript (105)
      • HTML (0)
      • DB (52)
      • NestJS (3)
      • 리눅스 (53)
      • 구글지도 (29)
      • 기타 (18)
    • IT 테크 (286) N
      • 리뷰 (110)
      • AI (43) N
      • 기타 (131)
    • 전자회로 & 부품 (44)
    • 디지털 행정 & 자동화 실무 가이드 (7)
    • 기타 (2)
최근 글
최근 댓글
태그
  • #java
  • #mysql
  • #api가이드
  • #springboot
  • #AI
  • #routesapi
  • #google지도api
  • #리눅스기초
  • #typescript
  • #googlemap
전체 방문자
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바