我只是想了解在什么级别的对象上使用可选链接。如果我有给定的对象
foo: {
other: {
name: "Bill"
}
}
而不是这样做:
if (foo && foo.other && foo.other.name) { ... }
我想使用可选链接,但我总是发现自己只是在每个级别添加 ?.
。
正确的方法是像这样将它添加到每个级别:
if (foo?.other?.name) {
}
或者您可以省略最后一个,因为如果它不存在,将导致 false:
if (foo?.other.name) {
}
最佳答案
您需要在前面的键可以返回 null
值的每个 级别添加 ?
。
const ohNo = this?.data?.set?.can?.break?.at?.any?.level;
如果您在其中遗漏了任何 ?
,当前面的深度级别为 null
时,您会得到 null 引用异常...
关于javascript - JS : proper way of using optional chaining?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69105317/