it공부 (개념)/javascript

Intersection type(인터섹션 타입) 개념 및 Typescript 예제

cantor 2023. 1. 24. 15:33

Intersection?

    • 사전적 의미: 교차로, 교집합, 어떤 것들이 가로지르는 지점

 

  • Intersection type (in Typescript):

    여러 타입을 융합하여 만든 하나의 타입. "&" 연산자를 활용하여 정의한다.
    융합된 타입들의 요소를 전부 가지고있다.

 

 

type예제

type CheeseBurger = {
    numBread: number;
    numCheese: number;
}

type BeefBurger = {
    numBread: number;
    numBeef: number;
}

//numBread라는 공통의 요소를 가지고있는 두 타입을 정의했다.


type BeefCheeseBurger = CheeseBurger & BeefBurger;

//& 연산자가 바로 intersection 연산자이다.
// BeefCheeseBurger는 CheeseBurger와 BeefBurger의 intersection 타입이다.


let myBurger: BeefCheeseBurger;

myBurger = {
    numBread: 2,
    numBeef: 3,
    numCheese: 2
}

//BeefCheeseBurger 타입을 갖는 myBurger는
// CheeseBurger와 BeefBurger의 요소를 모두 가지고있어야 한다.

 

 

 interface예제 

type대신 interface를 사용할 수 있다.

interface CheeseBurger = {
    numBread: number;
    numCheese: number;
}

interface BeefBurger = {
    numBread: number;
    numBeef: number;
}


interface BeefCheeseBurger = CheeseBurger & BeefBurger;

let myBurger: BeefCheeseBurger;

myBurger = {
    numBread: 2,
    numBeef: 3,
    numCheese: 2
}

//type을 전부 interface로 바꿔도 동일한 기능을 수행한다.

https://batcave.tistory.com/36

 

interface(인터페이스) 개념 및 Typescript 예제

타입스크립트 소개 및 개발 준비 게시물의 링크는 이 글의 맨 밑에 있습니다. Art and design icons created by Freepik - Flaticon 목차. A. interface의 개념 사전적 정의, 프로그래밍 언어에서의 정의 사용이유 B

batcave.tistory.com

인터페이스 알아보기

 

 

 

수학용어 intersection과의 차이

교집합(intersection)

수학에선 교집합을 영어로 intersection이라고 한다.

그래서 왜 union(합집합)이 아닌 intersection으로 명명했는지 의문이 들었다.

 

 

하지만 intersection에는 두 개의 대상이 만나 각각의 효과를 모두 갖는 지점이라는 뜻도 있다.

https://dictionary.cambridge.org/dictionary/english/intersection

 

 

 

 

 

그림출처

Union icons created by Freepik - Flaticon