小编Pet*_*erN的帖子

联合类型上不存在 Typescript 属性

这是我遇到过几次的情况,看起来应该相当简单,但是我找不到不将类型设置为 any 的解决方案

函数将两个不同对象之一作为参数,检查接收到的对象,并返回相应的字段。

这是问题的简化版本,但问题是这两个对象只能通过它们的属性(没有重叠)来区分,而我无法访问任何属性,因为它们不存在于另一个类型。

type Obj1 = {
  message: string
}

type Obj2 = {
  text: string
}

const getText = (obj: Obj1 |obj2): string => {
  if (obj.message) {
    return obj.message
  }

  return obj.text
}
Run Code Online (Sandbox Code Playgroud)

typescript

33
推荐指数
3
解决办法
9372
查看次数

标签 统计

typescript ×1