【发布时间】:2021-02-25 18:00:59
【问题描述】:
我遇到了一个非常奇怪的Object is possibly 'undefined' 错误。我的目标是这样的条件:
if (productPages?.length && productPages[productPages.length - 1].docs?.length < 10){...}
但条件productPages[productPages.length - 1].docs?.length < 10 导致我出现错误Object is possibly 'undefined'。
问题是,如果我将 < 运算符更改为另一个运算符,例如 == 或 ===,错误就会消失,这对我来说似乎很奇怪。
我不想使用! - Non-null assertion operator,但我找不到任何其他解决方案。
测试的 Typescript 版本:3.7.3 和 4.0.5。
【问题讨论】:
-
这没什么奇怪的。检查是否等于
undefined是有意义的。检查它是大于还是小于它。 -
感谢您的快速回复。
标签: typescript