如何理解JavaScript的双问号运算符?空值合并运算符
发布于 作者:苏南大叔 来源:程序如此灵动~

本文普及一下一个JavaScript
的最新特性:双问号运算符,或者称为空值合并运算符。当然,这个是最新的ES2020里面的特性,最新的nodejs
和chrome
浏览器,都是支持这个空值合并双问号运算的。

苏南大叔的“程序如此灵动”技术博客,记录苏南大叔的编程所学所想。本文测试环境:win10
,chrome@116.0.5845.141
,node@16.14.2
。需求其实也非常简单:当一个变量是null
或者undefined
的时候,给它赋值一个合适的默认值。
双问号运算、 空值运算符
JavaScript
双问号运算符,也称为空值合并运算符。它是 ES2020 的一个新特性,这个运算符会在左侧表达式是null
或undefined
时返回右侧的表达式。
相当于:
测试代码:
输出:

从运算结果上看,使用了空值合并运算符,只把null
和undefined
替换为一个预定义的值。对于空字符串和0
、false
都并不会做任何修改。
运算优先级
出于安全考虑,双问号配合 逻辑或(||)和逻辑与(&&)时,需要使用到小括号。目的是明确其优先级。测试代码:
输出:

不使用小括号的时候,可能会得到错误提示如下:

结束语
本文讲述的是js
的双问号运算符,也称空值合并运算符。更多苏南大叔的node
经验文章,请点击:


