TypeScript/타입스크립트 TypeScript

Union과 또 다른 Intersection 타입

Rainbow🌈Coder 2022. 4. 15. 18:47
728x90

Union이 Or이라면

Intersection은 And & 일 것이다^^

type Student = {
  name: string;
  score: number;
};

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

function internWork(person: Student & Worker) {
  console.log(person.name, person.employeeId, person.work());
}

internWork({
  name: "홍길동",
  score: 86,
  employeeId: 6,
  work: ()=> {},
}); //홍길동 6 undefined

위의 코드가 아래와 같다면,

type Student = {
  name: string;
  score: number;
};

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

function internWork(person: Student & Worker) {
  console.log(person.name, person.employeeId, person.work());
}

internWork({
  name: "홍길동",
  score: 86,
  employeeId: 6,
}); //홍길동 6 undefined

캡처와 같은 에러메시지가 뜸

 

728x90