ES新特性双问号操作符 ?? 与可选链?.操作符

494 阅读1分钟

前言

最近有点GAP 还是要好好调整,稳步前进…

e3174051da462d70ebb448abf76a2500.jpeg

下面介绍下 ES7新特性双问号操作符 ?? 与可选链?.操作符,基本工作中天天用,那就整理一下吧

双问号【??】

value1 ?? value2

?? 在 value1 和 value2 之间,只有当 value1 为 null 或者 undefined 时取 value2 ,否则取 value1;(0,false,""被认为是有意义的,所以还是取value1)

举例:

undefined ?? 'default'  //'default'
null ?? 'default'  //'default'
false ?? 'default' //false
'' ?? 'default'   //''
0 ?? 'default'   //0

参考:MDN双引号介绍

可选链操作符【?.】

当访问多层对象属性(比如 res.data.list)时,如果属性res.data为空,则会报引用错误;所以使用可选链【 ?.】 对一个为null或者undefined属性的安全引用

举例:

let dataList = res?.data?.list`

参考:MDN引用链介绍