Intersection 이란?
|
기호였던 Union 과 반대되는 개념이다.- Union 은 OR 였다면, Intersection 은 AND 개념이다.
&
기호를 통해 묶어준다.
interface Person {
name: string;
age: number;
}
interface Company {
location: string;
companyName: string;
}
type BusinessMan = Person & Company; // 계속 & 로 엮어나갈 수 있음
// 모든 프로퍼티를 다 채워야만 에러가 나지 안ㄶ음
let businessMan: BusinessMan = {
name: "jake",
age: 10,
location: "seoul",
companyName: "super startup",
};
- 위의 코드 예시에서
BusinessMan
타입의 변수를 선언했다면 반드시 모든 프로퍼티를 다 채워야 에러가 없다.- Intersection 의 특징이다.
Primitive 타입을 Intersection 으로 묶는다면?
- Primitive 타입을 이용해 intersection 을 만들어버리면
never
타입이 된다.never
타입은 무엇을 해도 에러가 난다.- 어떤 타입도 저장되거나 반환되지 않을 때 사용하는 타입이다.
type numberAndString = number & string; // never 타입
반응형
'Typescript' 카테고리의 다른 글
TS010. 타입스크립트 함수 정의 (Function Definition) (0) | 2023.12.28 |
---|---|
TS009. 타입스크립트의 내로잉 (Narrowing) 이란? (0) | 2023.12.28 |
TS007. 타입스크립트 Union 이란? (0) | 2023.12.28 |
TS006. 타입스크립트 타입 캐스팅 및 주의점 (0) | 2023.12.27 |
TS005. 타입스크립트의 타입 추론 (type inference) (0) | 2023.12.27 |