打字稿对象可能未定义[重复]
Posted
技术标签:
【中文标题】打字稿对象可能未定义[重复]【英文标题】:Typescript object is possibly undefined [duplicate] 【发布时间】:2019-12-24 03:32:11 【问题描述】:interface c
state?: b: string
const x: c = state: b: 'c'
console.log(x.state.b)
在上面的代码中,在接口c中,state是一个可选属性。
但是,当我想在设置状态对象时访问它的属性 b 时,它给了我这个错误,对象可能是“未定义”。解决此问题的正确方法是什么?
【问题讨论】:
【参考方案1】:如果你确定一个可选的(标有?
的字段)有一个值,这可以通过检查它的值来实现:
if(x.state !== undefined)
console.log(x.state.b)
您可以使用!
将其标记为存在:
console.log(x.state!.b)
【讨论】:
【参考方案2】:那是因为state
可以是未定义的,编译器并不总是知道它何时被明确定义。
您可以告诉它您确定它已定义,只需使用:x.state!.b
【讨论】:
以上是关于打字稿对象可能未定义[重复]的主要内容,如果未能解决你的问题,请参考以下文章
打字稿 - 未捕获的 ReferenceError:未定义导出