?.
,也称为可选链运算符,是ES6中的一个新特性。它允许在访问深层次的嵌套对象时,避免因为中间某一层对象为 null
或 undefined
而导致程序抛出异常错误。
使用规范如下:
- 在需要访问对象属性或者方法时,在属性或方法前加上
?.
,例如obj?.prop
、obj?.method()
。 - 可选链运算符可以和其他运算符一起使用,例如
?.
和||
一起使用时,当对象为null
或undefined
时,||
后面的表达式会被执行。 - 可选链运算符可以链式调用,例如
obj?.prop1?.prop2
,在obj.prop1
为null
或undefined
时,会直接返回undefined
,避免了因为对象不存在而导致的异常错误。
需要注意的是,虽然可选链运算符可以避免因为对象不存在而导致的异常错误,但是过多的使用可选链可能会导致代码可读性降低,建议根据具体场景使用。