链判断运算符

链判断运算符

读取对象内部的某个属性,往往需要判断一下,属性的上层对象是否存在。
盲目的读取会发生错误。当我们的属性在对象的里面很多层,判断的次数就会变多。
链判断运算符 ?. 可以简化判断次数
例:

const firstName = message?.body?.user?.firstName || 'default';

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

  • 1.短路机制
    只要不满足条件,就不再往下执行。
  • 2.括号的影响
    如果属性链有圆括号,链判断运算符对圆括号外部没有影响,只对圆括号内部有影响。
    一般来说,使用 ?. 运算符的场合,不应该使用圆括号。
  • 3.报错场合
    1)构造函数
    2)链判断运算符的右侧有模板字符串
    3)链判断运算符的左侧是 super
    4)链运算符用于赋值运算符左侧
  • 4.右侧不得为十进制数值

在某些不确定是否存在的属性,用来赋值的时候采用

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值