空值合并操作符:别再让你的代码“随便”取默认值啦! 想象一下,你正在烤一个美味的巧克力蛋糕,配方上写着:“加入可可粉,如果没写明用量,就加3汤匙。” 这听起来很合理,对吧? 但如果你的厨房里正好有一盒“已经用过的”可可粉,里面只剩下一点点底儿了呢? 按照“没写明用量就用默认值”的逻辑,你还是会傻乎乎地用掉这可怜的底儿,而不是直接用那3汤匙。 结果呢? 蛋糕的味道可能就差强人意了。 在编程世界里,类似的情况也经常发生。我们经常需要给变量设置默认值,以防万一它没有被赋值或者赋值为空。 在JavaScript的世界里,过去我们通常会用“||”操作符来处理这种情况,就像这样: const userAge = user.age || 18; // 如果user.age不存在或者为falsy值,就用18作为默认值 这段代码的意思是:如果user.age存在且不是一个“falsy”值(比如false、0、””、null、undefined、NaN),那么userAge就等于user.age,否则就等于18。 看起来似乎没毛病,但问题就出在这个“falsy”值上。 0岁也是一种年龄啊! 如果user. …