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-11-26消息中间件源码剖析教程
- 2024-11-26JAVA语音识别项目资料的收集与应用
- 2024-11-26Java语音识别项目资料:入门级教程与实战指南
- 2024-11-26SpringAI:Java 开发的智能新利器
- 2024-11-26Java云原生资料:新手入门教程与实战指南
- 2024-11-26JAVA云原生资料入门教程
- 2024-11-26Mybatis官方生成器资料详解与应用教程
- 2024-11-26Mybatis一级缓存资料详解与实战教程
- 2024-11-26Mybatis一级缓存资料详解:新手快速入门
- 2024-11-26SpringBoot3+JDK17搭建后端资料详尽教程