JavaScript 经典面试题笔记 - 这就是 ES11(ECMAScript2020)里的 Nullish 合并运算符

阅读时长 3 分钟读完

在 JavaScript 面试中,经常会被问到有关 Nullish 合并运算符的问题。Nullish 合并运算符是 ES11 (ECMAScript2020)中引入的一个新特性,它是一个非常实用且方便的运算符,特别是在条件语句和默认参数的场景中。

Nullish 合并运算符

首先,我们先来看一下 Nullish 合并运算符的基本语法:

它的含义是:如果 a 的值是 null 或 undefine,则返回 b,否则返回 a。可以看出,Nullish 合并运算符是一种比 || 运算符更加严格的判断方式。因为 || 运算符只要 a 的值为假值(false、0、''、NaN、undefined 和 null)就会返回 b。

以下是一些使用 Nullish 合并运算符的示例。

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

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

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

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

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

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

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

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

指导意义

Nullish 合并运算符在 JavaScript 中是一个非常实用的语法,特别是在处理函数默认参数方面。传统的默认参数方式通常是通过 || 运算符实现的,但是,它会将 0 和 '' 等 falsy 值误认为是未传入值情况,在某些情景下会导致不必要的错误。而 Nullish 合并运算符则可以非常准确地判断是否定义了参数值。

以下是一个示例:

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

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

在这个示例中,函数默认值为 'hello world!'。如果使用默认参数方式作为函数参数的默认值,那么传入任何 falsy 值,都会被默认参数覆盖。但是,Nullish 合并运算符则在正确处理函数默认参数方面更加准确。

结论

Nullish 合并运算符是 ES11 (ECMAScript2020)中引入的一个新特性,它是一个非常实用且方便的运算符,特别是在条件语句和默认参数的场景中。使用这个新特性能够让我们更加准确地处理各种情况,避免因为默认参数值错误导致的错误,建议各位开发者尽快熟悉并使用这个新特性。

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

纠错
反馈