在 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