ECMAScript 2020 (ES11) 新特性:可选 Chaining 运算符和空值协调工具

阅读时长 3 分钟读完

ECMAScript 2020 (ES11) 是 JavaScript 的最新版本,其中引入了两个非常重要的新特性,即可选 Chaining 运算符和空值协调工具。这两个特性可以显著简化代码和增强可读性,也是前端开发者应该学习和掌握的。

可选 Chaining 运算符

可选 Chaining 运算符(Optional Chaining Operator)由问号(?)和点号(.)组成,可以用于访问对象中嵌套的属性或方法,同时避免因未定义的中间属性或方法而导致的错误。

下面是一个示例代码:

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

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

在这个示例中,我们可以看到,通过在 address 后面加上可选 Chaining 运算符,我们可以轻松地访问 address 嵌套的 city 属性。如果 addresscity 未定义,那么表达式的值将为 undefined,而不是抛出错误。

同样地,我们可以使用可选 Chaining 运算符来避免访问未定义的嵌套方法。例如:

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

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

在这个示例中,我们可以看到,通过在 sayHello 方法后面加上可选 Chaining 运算符,我们可以轻松地调用这个方法。如果 sayHello 未定义,那么调用这个方法将不会有任何效果,没有任何错误。

空值协调工具

空值协调工具(Nullish Coalescing Operator)由两个竖线(||)组成,可以用于判断一个值是否为 nullundefined,如果是,返回一个默认值。

下面是一个示例代码:

在这个示例中,我们可以看到,使用空值协调工具可以轻松地判断一个变量是否为 nullundefined,并在其为这些值时返回一个默认值。

需要注意的是,空值协调工具只会在变量为 nullundefined 时生效。如果变量的值为其他 Falsy 值(例如 0""false),那么依然会返回默认值,因此在使用时需要谨慎。

总结

可选 Chaining 运算符和空值协调工具是 ECMAScript 2020 (ES11) 的两个重要特性,可以避免一些常见的错误和简化代码。这些特性都是非常有用的,前端开发者应该学习并掌握它们。

在使用这些特性时,需要注意它们的语法和使用限制,并理解它们的本质和适用场景。只有掌握了它们,才能更好地编写高效、简洁和易于维护的 JavaScript 代码。

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

纠错
反馈