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이라고 한다.
그래서 왜 union(합집합)이 아닌 intersection으로 명명했는지 의문이 들었다.
하지만 intersection에는 두 개의 대상이 만나 각각의 효과를 모두 갖는 지점이라는 뜻도 있다.
그림출처