js 逻辑空分配双问号语法 、双竖杠语法 与 可选链语法

可选链的语法允许开发者访问嵌套得更深的对象属性,而不用担心属性是否真的存在。也就是说,如果可选链在挖掘过程遇到了null或undefined的值,就会通过短路(short-circuit)计算,返回undefined,而不会报错。

逻辑空分配运算符仅在空值或未定义(null  or undefined)时才将值分配给 a

双问号:当前面的值为 null 、undefined 时,就返回后面的值,否则取前面的值

user.userinfo.age ?? 0

双竖杠:只要前面的值转为布尔值为false时,就取后面的值(如:undefined、null、false、空字符串、数值0)

思考:双问号更适合在不知道变量 是否定义 或者 是否赋值 时的场景使用

?.可选链: 如果要表示

let test = {
    value: {
        a: '1222'
    }
}

如果要实现 test 存在时,返回 test.value,否则返回 undefined
则需要这样写:
let myvalue = test ?  test. value : undefined

如果用可选链语法,则可以简写为:
let myvalue = test ?. value

如果要返回 test.value.a ,则可以简写为:
let a = test ?.value?.a || 10    //如果test.value.a不存在的话 (为null或undefined) ,则返回10固定值

参考:

认识可选链和双问号语法_前端发现的博客-CSDN博客

vue项目支持js新语法可选链“?.“以及逻辑空分配(双问号)“??“_鸽子.Luna的博客-CSDN博客_vue 双问号

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值