js ??和?. 可选链操作符( ?. ) 空值合并操作符(??)

看了一个项目代码,项目中报语法错误:

getList().then({data}=>{
  _this.processCategory = data?.map(item => {
                return {
                  id: item.dictValue,
                  name: item.dictLabel
                }
              }) ?? [];
                  console.log(_this.processCategory)
            });
})

可选链操作符( ?. )

选链操作符( ?. )允许读取位于连接对象链深处的属性的值,而不必明确验证链中的每个引用是否有效。?. 操作符的功能类似于 . 链式操作符,不同之处在于,在引用为空(nullish ) (null 或者 undefined) 的情况下不会引起错误,该表达式短路返回值

空值合并操作符(??)

只有当左侧为nullundefined时,才会返回右侧的数

1.项目中遇到以上的语法问题,是不支持该语法,安装以下依赖:

npm install @babel/plugin-proposal-optional-chaining

2.添加至项目.babel.config.js文件中:

{
  "plugins": [
    "@babel/plugin-proposal-optional-chaining",
 ]
}

你可能感兴趣的:(js ??和?. 可选链操作符( ?. ) 空值合并操作符(??))