es2020 实用的几个新方法
最近 JavaScript 从 es6 就提高了更新频率,2019还没有结束 2020的规范就已经开始出草案了😵。
话不多说
可选链运算符 ??
场景:访问嵌套对象时如果当前为 undefined 或者为 null这时再做其他操作将会报错,可选链运算符
可完美解决。
const obj = {
a: 1,
b: ''
}
console.log(obj.a); // 1
console.log(obj.a.b); // undefined
console.log(obj.a.b.c); // Uncaught TypeError: Cannot read property 'c' of undefined
console.log(obj.a.b?.c);
// 使用可选链运算符 ?. 来访问嵌套对象,如果碰到的是 undefined 或 null 属性,只会返回 undefined
console.log(obj.b?.substring); // ƒ substring() { [native code] }
使用可选链运算符 ?. 来访问嵌套对象,如果碰到的是 undefined 或 null 属性,只会返回 undefined
空值合并运算符
场景:当给变量值为 undefined 或者 null 设置默认值时会遇到变量为 空字符串或为0的尴尬情况
const x = 0;
const y = x || 'false';
const z = x ?? 'false';
console.log(y); // 'false'
console.log(z); // 0
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 kshao-blog-前端知识记录!
评论