在过去的 JavaScript 中,我们经常使用 ||
运算符来判断变量的真实值,例如:
const foo = 0 || 'default'; // 'default' const bar = false || 'default'; // 'default'
但是,当变量的值为 0
、false
、null
、undefined
等 falsy 值时,上述方法将返回错误的默认值。在 ES11 中,我们可以使用 nullish coalescing(空值合并)语法来解决这个问题。
nullish coalescing 的语法
??
运算符是 nullish coalescing 的核心语法,它的用法非常简单:
a ?? b;
它的含义是:如果 a
的值是 null
或 undefined
,则返回 b
的值,否则返回 a
的值。
nullish coalescing 的优点
nullish coalescing 语法有以下优点:
易于读写。与传统的
||
运算符相比,nullish coalescing 更易于理解。对于许多初学者来说,它更容易读写。避免错误的默认值。当使用传统的
||
运算符时,可能会产生令人困惑的结果。nullish coalescing 语法可以更清晰地处理变量的默认值。支持更多的数据类型。nullish coalescing 不仅支持布尔值,还支持数字和字符串等其他数据类型。
使用 nullish coalescing 的示例
下面是一个示例代码,它展示了如何使用 nullish coalescing 语法来处理默认值:
const foo = null ?? 'default'; // 'default' const bar = undefined ?? 'default'; // 'default' const baz = 0 ?? 'default'; // 0 const qux = '' ?? 'default'; // ''
如上所示,当变量的值为 null
或 undefined
时,nullish coalescing 运算符将返回正确的默认值。对于其他 falsy 值,它也是正确的。
总结
nullish coalescing 是一个非常实用的 JavaScript 语法,它可以帮助开发人员避免代码错误,简化代码的编写和阅读。在 ES11 中,nullish coalescing 已经成为了一个常见的编程语言,我们应该充分利用这个语法来提高代码的质量和可读性。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/65434cba7d4982a6ebcf9855