es6运算符拓展

链运算符;如果读取对象内部的某个属性,往往需要判断一下,属性的上层对象是否存在。层层判断非常麻烦

const firstName = (message
  && message.body
  && message.body.user
  && message.body.user.firstName) || 'default';

链判断运算符?.,简化上面的写法。直接在链式调用的时候判断,左侧的对象是否为nullundefined。如果是的,就不再往下运算,而是返回undefined

const firstName = message?.body?.user?.firstName || 'default';
const fooValue = myForm.querySelector('input[name=foo]')?.value

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注