TypeScript-섹션3. 타입스크립트 이해하기- 대수타입(5)

손주완·2025년 7월 9일

TypeScript Section3

목록 보기
4/8

1. 대수 타입이란

여러개의 타입을 합성해서 만드는 타입
-> 합집합(Union) 타입
-> 교집합(Intersection) 타입 존재

2. 합집합(Union) 타입

바'|' 를 이용함.

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

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

type Union1 = Dog | Person;

위와 같이 Union1 타입을 Dog와 Person 타입의 합집합으로 표현

(...)

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

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

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

위와 같은 객체들을 포함함


let union4: Union1 = { // ❌
  name: "",
};

하지만 위와 같은 객체는 포함 불가 -> 어느 집합에도 속하지 못하기 때문

3. 교집합(Intersection) 타입

&를 이용해 정의
말 그대로 여러개의 타입들의 교집합만 사용
-> 범위가 Union보다 좁혀짐

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

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

type Intersection = Dog & Person;

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

위와 같이 Dog와 Person 타입의 프로퍼티를 모두 포함해야 함.

0개의 댓글