这篇文章主要介绍JavaScript中使用扩展运算符进行空检查的最佳方法有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
你还记得你写的第一个空检查代码吗?当 JavaScript 还没有现在这个完善时,我曾在我的旧代码中这样写:
if (foo !== null && foo !== undefined) { }
后来,我的生命被简单的 if 拯救!
if (foo) {}
只要条件值 foo 不是下列值,都将为真值“
null
undefined
NaN
空字符串 ("")
false
除了简单的 if 之外,现代 JavaScript
的可选链操作符 ?. 与空值合并运算符 ?? 可以使我们的代码更加简洁
可选链操作符是访问嵌套对象属性的安全方式。这意味着在访问一长串对象属性时,我们不必进行多次空检查。当尝试访问可能不存在的对象属性时,可选链操作符将会使表达式更短、更简明
以下示例检查客户地址的邮政编码是否为 null :
const client = { name: 'Liu Xing', address: { zipcode: '1234' } } // 老的取值方式 if (client && client.address && client.address.zipcode) {} // 更加现代的可选链操作符方式 if (client?.address?.zipcode) {}
空值合并操作符( ?? )是一个逻辑操作符,当左侧的操作数为 null 或者 undefined
时,返回其右侧操作数,否则返回左侧操作数。
const defaultMessage = 'Hello JavaScript 之禅' const msg = defaultMessage ?? 'Hello Liu Xing'; console.log(msg); // Hello JavaScript 之禅'
如果 defaultMessage
是 null 或者 undefined
则将打印出 Hello Liu Xing
当我们按顺序使用它时,它会变得更强大:
console.log(firstName ?? lastName ?? 'anonymous')
在这个例子中,如果 firstName
不是 null/undefined
,它将显示 firstName, 否则,如果 lastName
不是 null/undefined
,它将显示 lastName。 最后,如果它们都为 null/undefined
,它将显示“anonymous
”。
以上是“JavaScript中使用扩展运算符进行空检查的最佳方法有哪些”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。