当我们需要操作一个较为复杂的对象时,通常需要获取对象中的某些属性值。在Javascript中,我们可以使用访问对象的属性(如obj.prop)来获取对象的属性值。但是,在某些情况下,对象的属性结构可能较为复杂,其中嵌套了很多层子属性,我们需要一种更方便、更安全的方式来访问这些深层次的属性。下面是几种安全获取Object深层对象的方法实例。
使用&&操作符的逐层判断
这种方法需要逐层判断每一层属性是否存在,只有前一层属性存在时才能进入下一层。示例代码如下:
const user = {
name: 'Tom',
info: {
age: 20,
address: {
city: 'Beijing',
street: 'Main Street'
}
}
};
const city = user && user.info && user.info.address && user.info.address.city;
console.log(city); // Beijing
通过使用&&操作符逐层判断,即使其中某个属性不存在,代码也不会报错,而是返回undefined。
使用ES6的可选链操作符
使用ES6的可选链操作符(?.),可以更简便地获取对象中的深层属性。可选链操作符可以让我们只需指定需要获取的属性路径,而不用考虑属性是否存在。示例代码如下:
const user = {
name: 'Tom',
info: {
age: 20,
address: {
city: 'Beijing',
street: 'Main Street'
}
}
};
const city = user?.info?.address?.city;
console.log(city); // Beijing
当路径中的某一层属性不存在时,可选链操作符会直接返回undefined,而不会出现类型错误或程序异常中断。
注意,可选链操作符目前仅被一些高级浏览器(如Chrome、Firefox等)支持,使用时要注意浏览器兼容性问题。
以上就是安全获取Object深层对象的方法实例的完整攻略,希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Js中安全获取Object深层对象的方法实例 - Python技术站