在前端开发中,我们经常会遇到 undefined 和 null 的问题。在 JavaScript 中,这两个值都代表着“无值”。但是它们在实际应用中的行为却有所不同。为了解决这个问题,ECMAScript 2021 引入了 Nullish Coalescing 操作符。
Nullish Coalescing 操作符是什么?
Nullish Coalescing 操作符(??)是一种新的 JavaScript 操作符,用于判断一个值是否为 null 或 undefined。如果是,它会返回一个默认值。这种操作符的行为与逻辑或操作符(||)非常相似,但是逻辑或操作符在某些情况下会产生错误的结果。
Nullish Coalescing 操作符的用法
Nullish Coalescing 操作符的语法为:
a ?? b
其中,a 是要判断的值,b 是默认值。
如果 a 的值为 null 或 undefined,那么表达式的值就是 b。否则,表达式的值就是 a。
Nullish Coalescing 操作符的示例
下面是一个使用 Nullish Coalescing 操作符的示例:
const foo = null ?? 'default'; console.log(foo); // 输出:default const bar = undefined ?? 'default'; console.log(bar); // 输出:default const baz = 0 ?? 'default'; console.log(baz); // 输出:0
在这个示例中,我们分别使用了 null、undefined 和 0 来测试 Nullish Coalescing 操作符。由于 null 和 undefined 都被认为是“无值”,所以表达式的值都是默认值。而 0 被认为是有值的,所以表达式的值就是 0。
Nullish Coalescing 操作符的指导意义
Nullish Coalescing 操作符的引入解决了 JavaScript 中 undefined 和 null 的问题。在以往,我们经常使用逻辑或操作符来判断一个值是否为“无值”,但是这种方式在某些情况下会产生错误的结果。Nullish Coalescing 操作符的引入,使得我们可以更加准确地判断一个值是否为 null 或 undefined。
结论
Nullish Coalescing 操作符是 ECMAScript 2021(ES12)中的一种新操作符,用于解决 JavaScript 中 undefined 和 null 的问题。它的语法简单,用法灵活,可以帮助我们更加准确地判断一个值是否为 null 或 undefined。如果你还没有使用过 Nullish Coalescing 操作符,现在就可以开始尝试使用它来提高你的代码质量。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67418496ed0ec550d720344b