为了账号安全,请及时绑定邮箱和手机立即绑定

关于响应类型之一中不存在的属性的打字稿警告

关于响应类型之一中不存在的属性的打字稿警告

我收到了以下形式的回复:const response : {   a : string,   b : string} | {   message : string} = callFunc();在我的代码中,我将其用作:response.message && doSomething(message);然而,打字稿尖叫着属性“消息”在上面定义的第一种类型上不存在。我应该如何解决这个问题?
查看完整描述

2 回答

?
jeck猫

TA贡献1909条经验 获得超7个赞

因为response是联合类型,可能没有message属性,所以您必须先检查它

if ('message' in response) {
  doSomething(response.message)
}


查看完整回答
反对 回复 2023-08-24
?
一只斗牛犬

TA贡献1784条经验 获得超2个赞

您必须在第一种类型 json 中输入消息属性,例如

const 响应 : { a : 字符串, b : 字符串, 消息:字符串 } | { 消息:字符串 } = callFunc();


查看完整回答
反对 回复 2023-08-24
  • 2 回答
  • 0 关注
  • 160 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信