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) {