타입을 명시적으로 작성하지 않았을 때 타입 추론을 하게 된다.
interface Person {
name: string;
age: number;
}
interface Car {
brand: string;
wheel: number;
}
function hello(obj: Person | Car) {
}
interface Person {
name: string;
age: number;
}
interface Car {
brand: string;
wheel: number;
}
function isPerson(arg: any): arg is Person {
return arg.name !== undefined;
}
function isCar(arg: any): arg is Car {
return arg.wheel !== undefined;
}
function hello(obj: Person | Car) {
if (isPerson(obj)) {
console.log(obj.name);
}
if (isCar(obj)) {
console.log(obj.brand);
}
}