【发布时间】:2023-01-19 22:30:58
【问题描述】:
这是我遇到过几次的情况,看起来应该相当简单,但我找不到不将类型设置为任何的解决方案
函数将两个不同对象之一作为参数,检查接收到哪个对象,并返回相应的字段。
这是问题的简化版本,但问题是这两个对象只能通过它们的属性(没有重叠)来区分,而且我无法访问任何属性,因为它们不存在于另一个类型。
type Obj1 = {
message: string
}
type Obj2 = {
text: string
}
const getText = (obj: Obj1 |obj2): string => {
if (obj.message) {
return obj.message
}
return obj.text
}
【问题讨论】:
标签: typescript