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