[TS] 대수 타입

TIL

대수 타입이란 여러개의 타입을 합성해서 만드는 타입을 말한다.

합집합 (Union) 타입

let a:" string | number | boolean;

a = 1;
a = "hello";
a = true;

유니온 타입으로 배열 타입 정의하기

let arr: (number | string | boolean)[] = [1, "hello", true];

유니온 타입과 객체 타입

type Dog = {
  name: string;
  color: string;
};

type Person = {
  name: string;
  language: string;
};

type Union1 = Dog | Person;

let union1: Union1 = { // ✅
  name: "",
  color: "",
};

let union2: Union1 = { // ✅
  name: "",
  language: "",
};

let union3: Union1 = { // ✅
  name: "",
  color: "",
  language: "",
};

let union4: Union1 = { // ❌ 오류 발생
  name: "",
};

교집합 (Intersection) 타입

let variable: number & string; // never 타입으로 추론

number타입과 string타입은 서로 교집합을 공유하지 않는 서로소 집합이다. 따라서 변수 variable의 타입은 결국 never타입으로 추론된다.

 

대다수의 기본 타입들 간에는 서로 공유하는 교집합이 없기 때문에 이런 인터섹션 타입은 보통 객체 타입들에 자주 사용된다.

인터섹션 타입과 객체 타입

type Dog = {
  name: string;
  color: string;
};

type Person = {
  name: string;
  language: string;
};

type Intersection = Dog & Person;

let intersection: Intersection = {
  name: "",
  color: "",
  language: "",
};

'TIL' 카테고리의 다른 글

[TS] 타입 추론 및 타입 정의 연습  (0) 2025.10.31
[TS] 타입 추론  (0) 2025.10.31
[TS] void와 never  (0) 2025.10.28
[TS] any와 unknown  (0) 2025.10.28
[TS] 타입 정의 연습  (0) 2025.10.28
'TIL' 카테고리의 다른 글
  • [TS] 타입 추론 및 타입 정의 연습
  • [TS] 타입 추론
  • [TS] void와 never
  • [TS] any와 unknown
고견
고견
개발 자국 남기기
  • 고견
    개발자국
    고견
  • 전체
    오늘
    어제
    • 분류 전체보기 (157) N
      • Frontend (29)
        • Next.js (16)
        • JavaScript (7)
      • CS (19) N
        • 자료구조 (9)
        • 알고리즘 (5)
        • 운영체제 (4) N
        • 네트워크 (1) N
      • TIL (93)
      • Dev Log (16)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Next.js
    배열
    ai 감성 일기장
    App Router
    generic
    트러블 슈팅
    useState
    C
    emotion diary
    Trouble Shooting
    CS
    클래스
    algorithm
    cs50
    Spa
    바닐라 자바스크립트
    Pages Router
    알고리즘
    문자열
    memory
    react
    함수 타입
    타입 좁히기
    제네릭
    자료구조
    javascript
    앱 라우터
    인터페이스
    typescript
    페이지 라우터
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
고견
[TS] 대수 타입
상단으로

티스토리툴바