ECMAScript 2019 (ES10) Optional Chaining

阅读时长 3 分钟读完

在前端开发中,经常会涉及处理和操作从后端获取的 JSON 数据。而这些 JSON 数据中,有时一些属性是可选的。在以往的代码中,我们需要进行繁琐的条件判断,以保证代码的正确性,并以此来避免出现非预期的程序崩溃。ECMAScript 2019 (ES10) 的 Optional Chaining 提供了一种简便的方式,使我们能够更好的书写可读性高、且安全性更高的代码,同时也能够提高开发效率。

Optional Chaining 定义

ECMAScript 2019 (ES10) 的 Optional Chaining,即可选链运算符 ?. 。当我们需要查询可选对象的属性或调用可选对象的方法时,往往需要使用条件判断式进行判断,才能避免因为对象属性不存在而导致代码出错。而使用 Optional Chaining,我们就不再需要手动进行条件判断了。

Optional Chaining 示例

在进行代码实现时,我们需要学习 Optional Chaining 的使用方法。以下是一个实例,展示了如何在代码中使用 Optional Chaining,从而更好地书写简约代码。

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

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

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

以上代码中,我们使用了多次 person 对象的属性查询,在没有使用 Optional Chaining 的情况下,我们需要进行多次判断,以避免因属性不存在而导致代码错误。而使用 Optional Chaining 后,我们只需要在需要进行判断的属性或方法使用 Optional Chaining 运算符,即可简单、安全地查询可选对象的属性和方法。

Optional Chaining 的优势

  1. 简化了代码,避免了繁琐判断,使代码更加简练易读;
  2. 避免了因属性不存在而产生的 undefined 错误,使代码更加健壮可靠。

注意事项

  1. Optional Chaining 运算符仅用于查询可选(存在的)属性,不能用于赋值等操作;
  2. Optional Chaining 运算符仅对 null 或者 undefined 值生效;
  3. 在使用 Optional Chaining 运算符时,我们需要在对象或方法调用与 ?. 之间添加一个问号 ?,以示可选。

总结

Optional Chaining 运算符是 ECMAScript 2019 (ES10) 的一个重要新增功能,能够简化代码、提高开发效率、避免代码错误。使用 Optional Chaining 运算符将会在未来的前端开发中发挥越来越重要的作用。

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

纠错
反馈