在前端开发中,经常会涉及处理和操作从后端获取的 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 的优势
- 简化了代码,避免了繁琐判断,使代码更加简练易读;
- 避免了因属性不存在而产生的
undefined
错误,使代码更加健壮可靠。
注意事项
- Optional Chaining 运算符仅用于查询可选(存在的)属性,不能用于赋值等操作;
- Optional Chaining 运算符仅对
null
或者undefined
值生效; - 在使用 Optional Chaining 运算符时,我们需要在对象或方法调用与
?.
之间添加一个问号?
,以示可选。
总结
Optional Chaining 运算符是 ECMAScript 2019 (ES10) 的一个重要新增功能,能够简化代码、提高开发效率、避免代码错误。使用 Optional Chaining 运算符将会在未来的前端开发中发挥越来越重要的作用。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64cef911b5eee0b52567cdd9