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

当我检查值是否在前一行中定义时,为什么 Typescript 会抱怨可能存在未定义的值?

当我检查值是否在前一行中定义时,为什么 Typescript 会抱怨可能存在未定义的值?

元芳怎么了 2023-06-09 17:18:38
我有这段代码,我想知道为什么 Typescript 会抱怨,函数 isNextWeek 需要一个字符串,这里的代码抱怨类型为字符串或未定义的参数不可分配,但我不是在检查在 localTimeExists 中定义的 localTime检查 - 所以如果它未定义,它永远不应该调用该函数。不确定为什么会抱怨,或者是否有人有避免此问题的建议。我确实设法通过将它包装在“if”条件中来避免它,但随后将值范围限定为该块,我想在外面使用它所以想知道是否有另一种方法。谢谢const localTimeExists = !!out && !!out.localTime; const doThis = !isToday && localTimeExists && isNextWeek(out.localTime);
查看完整描述

1 回答

?
子衿沉夜

TA贡献1828条经验 获得超3个赞

我通过内联真实检查来实现它,因为将它提取到一个单独的行中混淆了 Typescript 在进行推理时。



查看完整回答
反对 回复 2023-06-09
  • 1 回答
  • 0 关注
  • 101 浏览
慕课专栏
更多

添加回答

举报

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