instanceof 연산자를 사용해서 구분할 수 있습니다. 마찬가지 방식으로 함수도 instanceof Function으로 구분할 수 있습니다.
이번에는 두 객체를 구분하는 방법을 배워보겠습니다. 다음과 같이 X, Y 객체를 구분하고 싶은 상황입니다.
interface X {
width: number;
height: number;
}
interface Y {
length: number;
center: number;
}
function objXorY(param: X | Y) {
if (param instanceof X) {
param;
} else {
param;
}
}
// 'X' only refers to a type, but is being used as a value here.