在前端开发中,我们常常需要访问对象的属性或方法,但是有时候这些属性或方法可能不存在,这就会导致代码出错。为了解决这个问题,ES11 引入了 Optional Chaining 操作符,它可以让我们在访问对象的属性或方法时,不必担心它们不存在而导致的错误。
Optional Chaining 操作符
Optional Chaining 操作符是一个问号(?
)加上一个点号(.
),它的作用是判断当前对象是否存在指定的属性或方法,如果存在则返回对应的值,如果不存在则返回 undefined
,而不会抛出错误。
下面是一个使用 Optional Chaining 操作符的示例:
-- -------------------- ---- ------- ----- ------ - - ----- -------- ---- --- -------- - ----- ---- ------ -------- ------- - -- ---------------------------------- -- -- ---- ----- ------------------------------------- -- -- ---------
在上面的示例中,我们使用了 Optional Chaining 操作符来访问 person
对象的 address
属性的 city
和 country
属性。由于 person
对象的 address
属性存在,所以访问 city
属性时可以得到正确的值,而访问 country
属性时会返回 undefined
。
使用 Optional Chaining 操作符的注意事项
虽然 Optional Chaining 操作符可以让我们在访问对象的属性或方法时避免出错,但是在使用它时也需要注意一些事项:
- Optional Chaining 操作符只能用于访问属性或方法,不能用于赋值、删除、调用函数等操作。
- Optional Chaining 操作符只能用于对象、数组和函数的调用,不能用于基本数据类型。
- Optional Chaining 操作符只会判断前面的对象是否存在,如果前面的对象存在但属性或方法不存在,仍然会返回
undefined
。
下面是一些使用 Optional Chaining 操作符的示例:
-- -------------------- ---- ------- ----- --- - - ---- - ---- - ---- -- - - -- -------------------------------- -- -- -- --------------------------- -- -- --------- ----- --- - --- -- --- ---------------------- -- -- - ---------------------- -- -- --------- -------- ----------- - ------------------- ----------- - ----------------- -- -- ------- ------- ---------- -- --------------
总结
Optional Chaining 操作符是 ES11 中的一项新特性,它可以让我们在访问对象的属性或方法时避免出错。虽然它非常方便,但在使用时也需要注意一些事项。希望本文能够帮助你更好地理解 Optional Chaining 操作符的使用方法和注意事项。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/65db0f421886fbafa4824117