在 ES11 中使用空值联合运算符

阅读时长 4 分钟读完

在 JavaScript 中,空值(null 或 undefined)常常在变量或属性中出现。空值联合运算符是 ES11 中的新功能,也被称为空合并操作符(nullish coalescing operator)。该操作符可以帮助我们更方便地处理空值的情况。本文将介绍空值联合运算符及其使用方法,并提供一些示例代码。

何为空值联合运算符

空值联合运算符(??)的作用是在变量或属性的值为空值时,使用默认值替代。与传统的逻辑或(||)不同的是,联合运算符仅在左侧的值为 null 或 undefined 时才会返回右侧的默认值。以下是一个简单的示例:

在上面的示例中,由于 foo 的值为 null,所以使用默认值 'default' 来代替 foo 的值。这与传统的逻辑或运算符产生了不同的结果:

在这个例子中,即使 bar 的值为 false 或空字符串,也会返回默认值 'default'。这是因为逻辑或运算符将非空值视为 true。

如何使用空值联合运算符

空值联合运算符可以用在任何需要默认值的场景,比如函数参数、对象属性或数组元素。

函数参数的默认值

我们可以使用空值联合运算符来为函数的参数定义默认值。例如:

在上面的示例中,如果 arg2 的值为 undefined 或 null,它将被替换为 arg1 的值。如果 arg1 的值也为null 或 undefined,arg2 将被替换为默认值 'default'。

对象属性的默认值

我们可以使用空值联合运算符来为对象属性设置默认值。例如:

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

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

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

在上面的示例中,如果属性的值为 null 或 undefined,使用默认值替代。

数组元素的默认值

我们可以使用空值联合运算符为数组元素设置默认值。例如:

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

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

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

在上面的示例中,如果元素的值为 null 或 undefined,使用默认值替代。

总结

空值联合运算符是 ES11 中的新功能,它可以简化代码,提高可读性,并且在处理空值的情况下有很大帮助。无论是函数参数、对象属性还是数组元素,都可以使用空值联合运算符来替代传统的逻辑或运算符。我们应该充分利用该功能来提高开发效率。

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

纠错
反馈