1、npm安装
npm install @babel/plugin-proposal-optional-chaining // 可选链运算符 ?. npm install @babel/plugin-proposal-nullish-coalescing-operator // 空值合并运算符 ??
2、配置label.config.js
module.exports = { plugins: [ '@babel/plugin-proposal-optional-chaining', // 可选链运算符 ?. '@babel/plugin-proposal-nullish-coalescing-operator' // 空值合并运算符 ?? ] }
3、应用
3.1 可选链 ?.
// 读取连接对象链的深处的属性值。 // 函数引用 let res = parent ?. myFn ?. () // parent若存在myFn方法则调用 // 表达式 let res = parent ?. [`item-${index}`] // 访问数组项 let res = parent ?. list ?. [2] // 访问parent属性list中的下标为2的值 // 设置默认值 let res = parent ?. sex ?? '男' // 取parent的sex属性值,若不存在(undefined)则默认值为'男'
3.2 空值合并 ??
// 左侧为 null / undefined 返回右侧值;否则返回左侧值。 const v1 = null ?? 'name' // 'name' const v2 = 0 ?? 12 // 0 const v3 = undefined ?? 0 // 0 const v4 = undefined ?? null // null const v5 = 10 ?? null // 10 const v6 = '' ? 'HAHA' // ''