Typescript 10. 교집합 타입

하비·2024년 3월 27일
0

typescript

목록 보기
10/14

Intersection Type

interface는 다른 유형을 확장하여 새로운 것을 구축할 수 있음.
Typescript는 주로 기존 객체 유형을 결합하여 사용되는 교차 유형을 제공함.
즉 여러 타입을 모두 만족하는 하나의 타입을 이야기 한다.

interface Colorful {
  color: string;
}
interface Circle {
  radius: number;
}
type ColorfulCircle = Colorful & Circle;
// 이렇게 생성한 ColorfulCircle을 아래서 사용함.
function draw(circle: Colorful & Circle) {
  console.log(`Color was ${circle.color}`);
  console.log(`Radius was ${circle.radius}`);
}
// 성공
draw({ color: "blue", radius: 42 });
// error!
draw({ color: "red", raidus: 42 });
//결과적으로 ColorfulCircle 타입은 이렇게 정의된다.
{
  color: string;
  radius: number;
}
profile
개발자를 꿈꾸는 하비입니다

0개의 댓글