学习 ES11:ECMAScript 2020 的 nullish 合并运算符

阅读时长 3 分钟读完

什么是 nullish 合并运算符?

nullish 合并运算符(Nullish Coalescing Operator)是 ECMAScript 2020 的一个新特性,用于判断一个值是否为 null 或 undefined。在 JavaScript 中,null 和 undefined 都代表不存在的值,但在某些情况下,空字符串、0 和 false 也可能代表不存在的值。在这种情况下,可以使用 nullish 合并运算符来判断一个值是否真正存在。

nullish 合并运算符的语法为 ??,它的作用是在左侧操作数为 null 或 undefined 时返回右侧操作数。例如:

在上面的代码中,变量 a 和 b 的值为 'default value',因为它们的左侧操作数是 null 或 undefined。变量 c 的值为 false,因为 nullish 合并运算符只判断 null 或 undefined,不判断空字符串、0 和 false。

与 || 运算符的区别

在 JavaScript 中,还有一个逻辑或运算符 ||,可以用来判断一个值是否真正存在。然而,nullish 合并运算符与 || 运算符有所不同。比较它们的不同之处:

  • || 运算符会将左侧操作数转换成布尔类型,如果结果为 false,则返回右侧操作数。
  • nullish 合并运算符只有在左侧操作数为 null 或 undefined 时才返回右侧操作数。

示例代码:

在上面的代码中,变量 a、b、c 的值为 'default value',因为它们的左侧操作数都可以转换成 false。变量 d、e 的值也为 'default value',因为它们的左侧操作数为空字符串和0,都可以转换成 false。

如何使用 nullish 合并运算符

在实际开发中,nullish 合并运算符可以用来设置默认值,例如:

在上面的代码中,函数 doSomething 接收一个参数 options,其中 value 可以是 null 或 undefined。使用 nullish 合并运算符可以判断 value 是否存在,如果不存在,则使用默认值 'default value'。

总结

nullish 合并运算符是 ECMAScript 2020 中的一个新特性,用于判断一个值是否为 null 或 undefined。它与 || 运算符有所不同,只有在左侧操作数为 null 或 undefined 时才返回右侧操作数。在实际开发中,nullish 合并运算符可以用来设置默认值。了解 nullish 合并运算符,可以帮助我们更加高效地编写代码。

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

纠错
反馈