8-5 可选链:Optional chaining

31 阅读1分钟

在开发过程中有一些对象,对象会有很多层,需要一层层判断,一层层找下去可以通过可选链去解决这个问题

const user = {
  address: {
    street: 'xx街道',
    getNum(){
      return: '80号'
    }
  }
}
const street = user
const street = user && user.address && user.address.street
console.log(street) // xx街道
const num = user && user.address && user.address.getNum && user.address.getNum()
console.log(num) // 80号

// 可选链的写法,使用问好点的方式,就可以很方便的判断当前这个对象是否存在,或者方法是否存在

const street = user?.address?.street
console.log(street) // xx街道
const street = user?.address?.getNum?.()
console.log(num) // 80号