检查对象的结构以确保它们具有相同的属性。或者,考虑使用联合类型来允许不同类型的对象在同一个变量中。例如:
interface Person {
name: string;
age: number;
}
interface Animal {
type: string;
size: number;
}
function printDetails(details: Person | Animal) {
if ("name" in details) {
console.log(`Name: ${details.name}, Age: ${details.age}`);
} else {
console.log(`Type: ${details.type}, Size: ${details.size}`);
}
}
在此示例中,我们使用联合类型来允许Person和Animal对象在同一个变量中传递给printDetails函数。在函数中,我们使用“in”运算符来检查对象是否具有特定属性,并使用条件语句来打印相关详情。这样可以避免属性不存在的错误。
上一篇:变量类型无效(列表)在R中”
下一篇:变量类型转换