ECMAScript 发展进程中,会有很多功能的更新,比如销毁,箭头功能,模块,它们极大的改变 JavaScript 编写方式,可能有些人喜欢,有些人不喜欢,但像每个新功能一样,我们最终会习惯它们。
今天主要给大家分享的运算符是:可选链接运算符;使用这个运算符后,可以让我们的代码更干净简洁。
目前状况
可选链接运算符(Optional Chaining Operator) 处于 ES2020 提案的第 4 阶段,因此应将其添加到规范中。它改变了访问对象内部属性的方式,尤其是深层嵌套的属性。
开发痛点
let data = {
children:[{
title:"冥王之子"
},{
title:"光明之子"
}]
}
if (data && data.children && data.children[0] && data.children[0].title) {
// I have a title!
}
用法简介
①对于静态属性
object?.name
②对于动态属性
object?.[property]
③对于方法访问
object.methodName?.()
简洁的写法
if ( data?.children?.[0]?.title) { // I have a title! }