js 运算符_JS新语法: 可选链操作符&空值合并运算符

好久没更新了,费劲吧啦的终于搞出来一篇稍微实用的文章,介绍ES2020中的两个好玩的新特性。这下凑够300字了,然而并没有。

653ce6d35d42e0217f214caba3a8e738.png

1、可选链操作符  ?. 

说明:允许读取位于连接对象链深处的属性的值,而不必明确验证链中的每个引用是否有效。

比如:

// 期望值obj = {  a: {    b: 'some strs'  }}// 实际值obj = {}

如果 a 属性 不存在,obj.a.b 就会报错,以前的写法:

obj.a && obj.a.b

现在,可以这么写:

obj.a?.b

如果 obj上没有 a属性,obj.a 就是 undefined ,上面的表达式就会返回 undefined,不会报错。

2、空值合并运算符   ?? 

说明 :如果 ?? 前面是 null 或 undefined,取后面的默认值。

以前使用 || ,比如:

name || 'xiaobai'

如果 name 是空值('' false undefined null 0)的时候,就使用默认值 xiaobai。

如果只想是 null 或 undefined 的时候使用默认值,就可以使用 ??

比如:

'' ?? 'abc'  返回 ''

'' || 'abc'   返回  'abc'

兼容性:都不支持IE

2445a36c6f92220571ade8f928342200.png

大概了解后,个人感觉还是 “可选链操作符” 更实用一些。

获取更多前沿技术,关注 “小白前端杂货铺”

ddd6f4ae06c7a7168ae73c4d0251eeb4.gif

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值