js 可选链 & 空值合并 In Action
js 可选链 & 空值合并 In Action
const obj = {
props: {
name: 'eric',
},
// prop, 不存在的属性 ⚠️
};
console.log('✅ obj.props.name =', obj.props.name);
// obj.props.name = eric
console.log('❌ obj.prop.name =', obj.prop.name);
// Uncaught TypeError: Cannot read property 'name' of undefined
console.log('✅ obj.prop?.name =', obj.prop?.name);
// ✅ obj.prop?.name = undefined
console.log('✅ obj?.prop?.name =', obj?.prop?.name);
// ✅ obj?.prop?.name = undefined
// 可选链与空值合并结合 🚀
const defaultValue = obj.prop?.name ?? 'default name';
console.log(`✅ obj.prop?.name ?? 'default name' = `, defaultValue);
// ✅ obj.prop?.name ?? 'default name' = default name
可选链操作符 ?.
优雅的解决访问多层级对象属性,cannot read property 'xxx' of undefined 的问题
空值合并操作符 ??
只有 undefined 和 null 才会被当作 🦾 假值
refs
©xgqfrms 2012-2020
www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!
原创文章,版权所有©️xgqfrms, 禁止转载 🈲️,侵权必究⚠️!
本文首发于博客园,作者:xgqfrms,原文链接:https://www.cnblogs.com/xgqfrms/p/14376664.html
未经授权禁止转载,违者必究!