타입 좁히기
타입 좁히기
// 간단한 null과 undefined 구분
function strOrNullOrUndefined(param: string | null | undefined) {
if (param === undefined) { // 또는 typeof param === 'undefined'
param; // undefined
} else if (param === null) {
param; // null
} else {
param; // string
}
}// Array 구분
function strOrNumArr(param: string | number[]) {
if (Array.isArray(param)) {
param; // number[]
} else {
param; // string
}
}
// instanceof 연산자 활용 (클래스, 함수)
class A {}
class B {}
function classAorB (param: A | B) {
if (param instanceof A) {
param; // A
} else {
param; // B
}
}두 객체를 구분하는 방법
브랜드 속성 활용
직접 타입 좁히기 함수 만들어서 사용 (타입 가드)
Last updated