Intersection Types : AND (&) : (발생하는 모든 케이스를 합한 성격을 말한다.)
type Student = {
name: string;
age: number;
};
type Worker = {
employeeId: number;
work: () => void;
};
function internWork(person: Student & Worker) { *// Intersection Type*
console.log(person.name, person.age, person.work());
}
internWork({
name: 'ellie',
age: 12,
employeeId: 123,
work: () => {},
});
*// Student 타입과 Worker 타입을 합하여 할당*
→ Union 이 발생하는 모든 케이스 중 하나인 경우를 지정 하였다면,
Intersection 은 그 모든 것을 다 합한 성격을 말한다.
→ 다양한 타입 들을 하나로 묶어서 선언함
→ 또한 두 개의 타입 중 하나의 타입만 선언은 불가능