ECMAScript 2019 中的 Nullish Coalescing Operator:解决 JavaScript 中的常见问题!

ECMAScript 2019 中的 Nullish Coalescing Operator:解决 JavaScript 中的常见问题!

在 JavaScript 开发中,我们经常会遇到一些常见的问题,比如如何在变量为空或者未定义时设置默认值。在以往的开发中,我们通常使用 || 运算符来实现这一目的,但是 || 运算符存在一些问题,比如当变量的值为 false、0 或者空字符串时,会被认为是空值,从而使用默认值,这并不是我们期望的结果。幸运的是,在 ECMAScript 2019 中,Nullish Coalescing Operator 的出现解决了这个问题。

Nullish Coalescing Operator(空值合并运算符)是一个新的运算符,它用于判断一个值是否为 null 或者 undefined,如果是,则返回默认值。这个运算符使用 ?? 表示,它的基本语法如下:

--- ------ - ------ -- -------

在这个语法中,如果 value1 不为 null 或者 undefined,则返回 value1,否则返回 value2。

下面是一个简单的示例:

--- --- - -----
--- --- - --
--- --- - ---

--- ------- - --- -- ---------- -- ---------
--- ------- - --- -- ---------- -- -
--- ------- - --- -- ---------- -- --

在这个示例中,我们设置了三个变量,分别为 null、0 和空字符串,然后使用 ?? 运算符来获取它们的默认值。注意,当变量的值为 0 或者空字符串时,它们并不会被认为是空值,因此不会使用默认值。

除了基本用法之外,Nullish Coalescing Operator 还可以与其他运算符一起使用,例如与三元运算符结合使用,来实现更加复杂的功能。下面是一个示例:

--- --- - ----------
--- --- - --

--- ------ - --- --- --------- - --------- - --- -- ---- -- -

在这个示例中,我们判断了 foo 是否为 undefined,如果是,则使用默认值,否则使用 foo 的值。此外,我们还使用了 ?? 运算符和 bar 变量来实现更加复杂的逻辑。

总结

Nullish Coalescing Operator 是 ECMAScript 2019 中的一个新运算符,它用于判断一个值是否为 null 或者 undefined,如果是,则返回默认值。相比于以往的 || 运算符,Nullish Coalescing Operator 可以更加准确地判断空值,从而避免一些常见的问题。在实际开发中,我们可以使用 Nullish Coalescing Operator 来实现更加灵活、准确的变量默认值设置,提高代码的可读性和可维护性。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/6609579ed10417a222816261