①可选链接运算符?.:可选链接运算符处于 ES2020 提案的第 4 阶段,因此应将其添加到规范中。它改变了访问对象内部属性的方式,尤其是深层嵌套的属性。
1、对于静态属性用法是:object?.property;
2、对于动态属性的用法是:object?. [expression];
3、由于操作符一旦为空值就会终止,因此也可以使用它来有条件地调用方法或应用条件逻辑;
4、对于方法的调用:object.runsOnlyIfMethodExists?.();
5、我们可以使用??运算符,为表达式提供默认值:data?.children?. [0]?.title ?? 'codercao';
②逻辑空分配??=:expr1 ??= expr2,逻辑空值运算符仅在 nullish 值(null 或者 undefined)时才将值分配给 expr1;
③逻辑或分配 || =:此逻辑赋值运算符仅在左侧表达式为 falsy 值(虚值) 时才赋值。Falsy 值(虚值)与 null 有所不同,因为 falsy 值(虚值)可以是任何一种值:undefined,null,空字符串 (双引号 ""、单引号’’、反引号``),NaN,0。IE 浏览器中的 document.all,也算是一个;
④逻辑与分配 && =:此逻辑赋值运算符仅在左侧为真时才赋值;
(参考:mp.weixin.qq.com/s/M6BnuFVku…