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

我有这段代码,我想知道为什么 Typescript 会抱怨,函数 isNextWeek 需要一个字符串,这里的代码抱怨类型为字符串或未定义的参数不可分配,但我不是在检查在 localTimeExists 中定义的 localTime检查 - 所以如果它未定义,它永远不应该调用该函数。

不确定为什么会抱怨,或者是否有人有避免此问题的建议。我确实设法通过将它包装在“if”条件中来避免它,但随后将值范围限定为该块,我想在外面使用它所以想知道是否有另一种方法。谢谢

const localTimeExists = !!out && !!out.localTime;
const doThis = !isToday && localTimeExists && isNextWeek(out.localTime);


元芳怎么了
浏览 102回答 1
1回答

子衿沉夜

我通过内联真实检查来实现它,因为将它提取到一个单独的行中混淆了 Typescript 在进行推理时。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript