在 JavaScript 中,当我们访问一个对象的属性时,如果该属性不存在,JavaScript 会抛出一个 TypeError 错误。
TypeError: Cannot read properties of null (reading 'xxx')
为了避免这种错误,ECMAScript 2020 引入了三个新的运算符:可选链运算符 ?.
、空值合并运算符 ??
和逻辑空赋值运算符 ??=
。
-
可选链运算符
?.
可选链运算符是一个简洁而有效的解决方案,用于检查给定属性是否存在。例如,如果你正在尝试访问嵌套在其他对象中的属性,并且该对象不存在,则可选链运算符允许你安全地避免错误。const person = { id: 10086, name: '阿凯', sex: '男', desc: null }; // 直接做法 console.log(person