?.可选链操作符

?.是可选链操作符,被称为安全调用运算符或者空值传递操作符(null propagation operator)。

它的作用是在访问可能为空(null或undefined)的对象的属性或者方法时,避免因为访问了空对象而导致代码抛出异常报错,而是直接返回undefined。这可以让我们在访问对象属性前先对其进行存在性检查,以避免因对象不存在而导致的错误。

例如:

const obj = {
  foo: {
    bar: {
      baz: 'hello'
    }
  }
};

// 传统的属性访问方式
if (obj && obj.foo && obj.foo.bar && obj.foo.bar.baz) {
  console.log(obj.foo.bar.baz);
}

// 使用可选链操作符的属性访问方式
console.log(obj?.foo?.bar?.baz);

在传统的属性访问方式中,我们需要使用条件判断语句来判断对象及其属性是否存在,而使用可选链操作符的属性访问方式则更加简洁,不存在的属性会直接返回undefined,我们可以使用如条件语句或者空值合并操作符来对其进行处理。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值