type Admin = {
name: string;
};
type User = {
nickname: string;
};
type SuperUser = Admin | User;
function temp(el:SuperUser) {
if(el.nickname) { <- 여기서 에러남
}
}
이 에러 해결하려면 아래처럼 바꿈
function temp(el: SuperUser) {
if ("nickname" in el) { <- 이런 방식 잘 안써봐서 기억할 필요가 있음
}
}
``````tsx
function temp(el: SuperUser) {
if ("nickname" in el) {
}
if (el instanceof User) { <- User가 class면 이렇게도 가능
console.log(el.nickname);
}
}
런타임에도 타입을 알아야할 필요성이 있기 때문에 사용