当前位置: 首页 > Web前端 > JavaScript

ES11中的空值合并操作符

时间:2023-03-27 10:52:28 JavaScript

在我的朋友圈和一些论坛上,看到过一些前端或者后端被js判断折磨着起飞,尤其是对于空字符串和数字0,在js中,以下6种情况为falseundefinednullfalse0NaN''或""(特别是字符串中间全是空格时,判断为真)。为了解决这个痛点,es11引入了空值合并运算符。在使用??运算符,为了更好的兼容性,我们会写这样的代码constb=2consta=b||5//相当于给a一个默认值console.log(a)//2如果在上面的例子中判断b的值为false,那么上面例子中的值就会出现一些问题,比如//例1constb=0consta=b||5console.log(a)//5//示例2constb=falseconsta=b||5console.log(a)//5//示例3constb=''consta=b||5console.log(a)//5是针对实际项目需求,对于数??字0,有时候我们只想输出数字0,而不是输出数字的默认值。在es11的新特性中,只有当value为undefined或null时才会使用默认值,像这样//Example1constb=2consta=b??6console.log(a)//2//示例2constb=0consta=b??6console.log(a)//0//示例3constb=falseconsta=b??6console.log(a)//false//示例4constb=undefinedconsta=b??6console.log(a)//6//示例5constb=nullconsta=b??6console.log(a)//6也可以扫描二维码,关注我微信公众号,蜗牛全栈