ES11 新特性之 Nullish Coalescing Operator

阅读时长 3 分钟读完

随着时间的推移,JavaScript 一直在不断发展和演进。随着 ES11(ECMAScript 2020)的发布,Nullish Coalescing Operator(空值合并运算符)成为了新增的功能之一。本文将会详细介绍这个新特性以及如何在你的 JavaScript 代码中使用它。

什么是 Nullish Coalescing Operator?

Nullish Coalescing Operator 可以看作是一个简化版的三元条件表达式,它用于对一个变量进行空值检测,如果该变量的值是 null 或者 undefined,它将返回一个默认值。这个运算符的语法是 ??

这里需要注意的是,这个运算符只会判断变量值是否为 null 或者 undefined,而不会把其他的 falsy 值当做空值(比如 0,'',false 等等)。

下面是一些示例,可以更好地帮助理解 Nullish Coalescing Operator 的功能:

为什么需要 Nullish Coalescing Operator?

在 JavaScript 代码中,在进行变量值判断时,通常会使用类似于下面的代码:

这种方式在许多情况下是有效的,因为 JavaScript 中有许多 falsy 值,其中包括 null 和 undefined。

但是,它也有一个明显的缺点,那就是会将其他的 falsy 值(0,'',false 等等)也当做空值来处理。这在某些场景下可能会产生意想不到的结果。

举个例子,假设我们要获取一个网站用户的年龄,如果这个用户没有填写年龄,我们想要使用一个默认值。按照之前的做法,我们可能会这样写:

但是,如果用户的年龄是 0 岁,这个判断就会认为 0 是一个空值,而将默认值设置为 18 岁,这显然是错误的。

这时候,Nullish Coalescing Operator 就可以很好地解决这个问题:

这样,只有当 userAge 的值为 null 或者 undefined 时才会应用默认值,其他 falsy 值都不会认为是空值。

总结

Nullish Coalescing Operator 是一个很实用的新特性,可以让开发者更轻松地对变量进行空值检测,并且避免了那些难以预料的问题。在你的日常开发中,相信这个运算符也会变得很常用。

本文从介绍快速概括 Nullish Coalescing Operator 的语法、优点与实用性,强烈建议掌握并在适当的场景下使用。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64d21c3eb5eee0b52597c3ef

纠错
反馈