面试题答案
一键面试interface User {
type: 'user';
name: string;
age: number;
}
interface Product {
type: 'product';
name: string;
price: number;
}
type Data = User | Product;
function processData<T extends Data>(data: T): T extends User? string : string {
if (data.type === 'user') {
return `${data.name} is ${data.age} years old`;
} else {
return `${data.name} costs ${data.price}`;
}
}