链式判断存在的意义:
为了判断你想访问的对象内存不存在这个属性时,用来判断这个对象自身存不存在
//假如有一个对象,你要访问里面的值并且判断这个对象存不存在
let message = { body: { user: { firstName: 1, }, }, }
//老的写法
let aaa = (message && message.body && message.body.user && message.body.user.firstName) ||"default"
// ES6链判断运算符
let bbb = message?.body?.user?.firstName || 'default'
console.log(aaa)
console.log(bbb)