我们如何使用safe navigation operator null/nil/undefined
&.
值
例如,在Ruby中,给定这样一个“看起来”的对象
person = {
address: {
street: '6823 Morgana Rd'
}
}
我们可以做类似的事情(伪代码)。
person&.phone&.areacode
// Undefined
人员对象仅定义了一个键address
。因此,phone
和它自己的密钥/属性/方法areacode
均未定义。
在Javascript中,给定相同的对象,
const person = { address: { street: '6823 Morgana Rd' } }
第一个方法调用电话将返回undefined(安全)。
person.phone
// undefined
但是
person.phone.areacode
引发错误
Uncaught TypeError: Cannot read property 'areacode' of undefined
我不知道有没有可以让我安全地这样做的操作员?
我知道我们可以使用逻辑运算符。
person && person.phone && person.phone.areacode
我知道我们可以做条件查询。
if (person) {
if (person.phone) {
if (person.phone.areacode) {
}
}
}
我宁愿不做那些事。
谢谢!