ES11中的空值合并运算符
2021/8/17 23:06:49
本文主要是介绍ES11中的空值合并运算符,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
小编在自己的朋友圈和一些论坛中,都有看到一些前端或者后端被js中判断折磨到起飞,特别是针对空字符串和数字0,在js中,以下6种情况是false
-
undefined
-
null
-
false
-
0
-
NaN
-
''或""(特别的,当字符串中间全是空格的时候,会判断为true)
为了解决这个痛点,es11中引入空值合并运算符。使用??运算符之前我们为了兼容性好一些,会写这样的代码
const b = 2 const a = b || 5 // 相当于给a一个默认值 console.log(a) // 2
如果例子中的b的值为以上会判断为false的情况,上述例子中的值就会出现一些问题,比如
// 实例一 const b = 0 const a = b || 5 console.log(a) // 5 // 实例二 const b = false const a = b || 5 console.log(a) // 5 // 实例三 const b = '' const a = b || 5 console.log(a) // 5
针对实际项目中的需求,对于数字0,我们有的时候只是想输出数字0,而不是数字的默认值,es11这个新特性中,只有值是undefined或者null的时候,才使用默认值,就像这样
// 实例一 const b = 2 const a = b ?? 6 console.log(a) // 2 // 实例二 const b = 0 const a = b ?? 6 console.log(a) // 0 // 实例三 const b = false const a = b ?? 6 console.log(a) // false // 实例四 const b = undefined const a = b ?? 6 console.log(a) // 6 // 实例五 const b = null const a = b ?? 6 console.log(a) // 6
大家还可以扫描二维码,关注我的微信公众号,蜗牛全栈
这篇关于ES11中的空值合并运算符的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)
- 2024-05-30【Java】百万数据excel导出功能如何实现
- 2024-05-30我们小公司,哪像华为一样,用得上IPD(集成产品开发)?
- 2024-05-30java excel上传--poi
- 2024-05-30安装笔记本应用商店的pycharm,再安排pandas等模块,说是没有打包工具?
- 2024-05-29java11新特性
- 2024-05-29哪些无用敏捷指标正在破坏敏捷转型?
- 2024-05-29鸿蒙原生应用再新丁!新华社 入局鸿蒙
- 2024-05-29设计模式 之 迭代器模式(Iterator)