在 ES10 中使用 optional chaining 处理 “undefined” 和 “null” 值

阅读时长 6 分钟读完

在 ES10 中使用 optional chaining 处理 “undefined” 和 “null” 值

随着前端技术的快速发展,JavaScript 作为前端开发的核心语言在不断升级。ES10 中引入了新的语法 optional chaining,能够更加优雅地处理 undefined 和 null 值,在代码编写的时候能够减少很多重复的代码,提高代码的可读性和可维护性。本文将详细介绍使用 optional chaining 处理 undefined 和 null 值,并提供示例代码和指导意义。

1.optional chaining 是什么?

optional chaining 是一种非常有意思而又实用的语法糖,它可以减少很多代码,解决了很多问题。例如,当一个对象的属性是 null 或者 undefined 时,如果直接访问其属性将会导致代码执行失败,并返回异常。optional chaining 就是为了解决这个问题而引入的该语法。

2.optional chaining 的语法

optional chaining 的语法非常简单。在需要访问属性的位置加上 ?. 即可对 null 或 undefined 作出适当的响应。

例如:

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

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

在上面的例子中,第一行代码 person.name 将会返回 “Wendy”,而第二行代码 person.gender.name 则会返回 undefined 而不是报错,这极大的方便了代码的编写。

3.optional chaining 的使用场景

optional chaining 可以应用于对象、数组、函数等多种场景。

3.1 对象

在对象中使用 optional chaining,可以简化对象的访问操作,减少了代码的重复。例如:

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

3.2 数组

在数组中使用 optional chaining,可以简化对元素的访问操作。例如:

3.3 函数

在函数中使用 optional chaining,可以简化函数调用的过程。例如:

4.optional chaining 的注意事项

虽然 optional chaining 看起来很简单,但是在使用的时候我们还是需要注意一些问题。

4.1 链式调用

在 optional chaining 的时候不能构造链式调用。例如:

person 对象的 address 键值为 null,在访问 city 属性的时候将会报错。

4.2 函数调用

在使用 optional chaining 的时候,对于函数的调用我们也需要注意。例如:

person 对象的 sayHi 方法被成功调用,打印了正确的输出结果。

5.optional chaining 的兼容性

在使用 optional chaining 之前,我们需要注意其在一些浏览器中的兼容性。目前大部分的浏览器都是支持的,包括 Chrome、Firefox、Safari 等,但是 IE 不支持该语法。如果你的项目需要支持 IE,那么可以使用 babel 转译或者手动编写兼容性代码。

6.示例代码

为了更好地理解 optional chaining 的用法,这里提供一些示例代码。

6.1 示例代码 1

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

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

在这个示例代码中,我们使用了 optional chaining 的语法访问了 person 对象的属性。第二行代码中,当我们尝试访问 person.address 值的 area 属性时,因为 area 属性不存在,所以返回了 undefined。

6.2 示例代码 2

在这个示例代码中,我们使用了 optional chaining 的语法获取了从远程服务端获取的数据。当没有获取到数据时,系统默认返回 undefined。

7.总结

optional chaining 是一种非常实用的语法糖,能够帮助我们更加轻松地处理 null 和 undefined 的情况。在代码的编写过程中,使用 optional chaining 能够提高代码的可读性和可维护性。但是在使用之前,我们还是需要注意其一些注意事项,尤其是在浏览器的兼容性方面。

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

纠错
反馈