[TypeScript] Intersection Type

Joah·2022년 10월 5일
0

TypeScript

목록 보기
13/16

Intersection Type

union은 발생할 수 있는 모든 케이스에서 한가지만 선택할 수 있는거라면

intersection은 모든 것을 합친 개념이다.

intersection을 사용하면 다양한 타입을 하나로 묶어서 사용하 수 있다.

union이 | 이라면 intersection은 & 같은 개념이다.


  type Student = {
    name: String;
    age: number;
  };

  type Worker = {
    employeeID: number;
    work: () => void;
  };

  function intern(person: Student & Worker) {
    console.log(person.name, person.age, person.employeeID, person.work());
  }

  intern({
    name: "dfs",
    age: 32,
    employeeID: 34453,
    work: () => {},
  });

console.log로 Student type, Worker type 둘다 확인할 수 있다.

그러기 위해서는

intern 함수의 인자로 전달할 때는 Student, Worker 두 타입 모두 작성해서 넘겨야 한다.

Student만 써도 error, Worker만 써도 error

profile
Front-end Developer

0개의 댓글