1. 可选链操作符(Optional Chaining Operator)
可选链操作符?.
可以安全地访问嵌套对象的属性或方法,即使其中某个属性为null
或undefined
,也不会抛出错误,而是直接返回undefined
。
1 2 3
| javascript复制代码let obj = { foo: { bar: 'baz' } }; let result = obj?.foo?.bar; let result2 = obj?.foo?.baz;
|
2. 空值合并操作符(Nullish Coalescing Operator)
空值合并操作符??
用于在变量为null
或undefined
时提供一个默认值。
1 2
| javascript复制代码let appSecret = null; let result = appSecret ?? 'defaultSecret';
|
- 可选链操作符?.
- 空值合并运算符?? 只处理null和undefined
- 逻辑与赋值运算符 &&=
a = a && b
flag &&= someCondition();
- 逻辑或赋值运算符 ||=
a = a || b
- 用于初始化变量,如果变量未被初始化,使用
||=
可以提供一个默认值
- 逻辑空赋值运算符 ??=
场景-空值解构
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| getVideoInfo: (params) => { const { channelNo, ...restParams } = params;
const finalParams = { ...restParams, ...(channelNo ? { channelNo } : {}), };
return request({ url: '/api/cyy/device/v1/ys7/liveAddress', method: 'POST', params: finalParams, }); }
|