了解 ES11: 可选链操作符与 nullish 合并运算符

阅读时长 3 分钟读完

ES11(也称为 ECMAScript 2020)是 JavaScript 的最新版本,它新增了许多新的特性来提升开发效率,其中最引人注目的就是可选链操作符(Optional Chaining Operator)和 nullish 合并运算符(Nullish Coalescing Operator)。

可选链操作符

在 JavaScript 中,当你想要访问一个嵌套对象的属性时,通常需要进行一些条件判断来避免出现 undefined 或 null 的情况。

例如,如果想要获取一个对象的子对象的子对象的属性,通常需要这样写:

使用可选链操作符,你可以像这样简化代码:

可选链操作符 ?. 表示如果前面的属性或方法存在就执行,否则返回 undefined。如果你想要使用默认值,可以将可选链操作符与 nullish 合并运算符结合使用。

nullish 合并运算符

在 JavaScript 中,我们通常使用逻辑运算符 || 来提供默认值,例如:

但是当属性的值为 falsy 值时,这种方法会返回默认值,而非属性的值本身。

nullish 合并运算符 ?? 是一种新的逻辑运算符,它只会在左侧的操作数为 null 或 undefined 时才返回右侧的默认值。例如:

这将只有在 obj.prop 的值为 null 或 undefined 时才返回 defaultValue

示例代码

下面是一个使用可选链操作符与 nullish 合并运算符的示例:

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

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

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

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

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

-- ----
------------------ -- ---------
展开代码

总结

使用可选链操作符和 nullish 合并运算符可以使你的代码更加简洁易懂,并且可以避免一些不必要的错误。如果你正在使用新版本的 JavaScript,那么这两个新特性是值得一试的。

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

纠错
反馈

纠错反馈