Typescript:对象可能是';未定义';但仅适用于'<';和'&燃气轮机';操作员

Typescript:对象可能是';未定义';但仅适用于'<';和'&燃气轮机';操作员,typescript,Typescript,我遇到了一个非常奇怪的对象可能是“未定义的”错误。我的目标是这样一个条件: if(productPages?.length&&productPages[productPages.length-1].docs?.length

我遇到了一个非常奇怪的
对象可能是“未定义的”
错误。我的目标是这样一个条件:

if(productPages?.length&&productPages[productPages.length-1].docs?.length<10){…}

但是条件
productPages[productPages.length-1].docs?.length<10
导致错误
对象可能是“未定义的”


问题是,如果我更改
,如果可选链接失败,整个左侧将计算为
未定义。在这种情况下,您的代码如下所示:

if (undefined < 10)

取决于你想要的逻辑。

这没什么奇怪的。检查某物是否等于未定义的
。检查它是否大于或小于它。这可能会有帮助:感谢您的快速响应。我想评论中的部分应该是
|
?哦,是的,当然。非常感谢,就是这样。
const length =  productPages[productPages.length - 1]?.docs?.length;
if (length !== undefined && length < 10) {
// or
// if (length === undefined || length < 10) {