如何在JavaScript中同时解构对象的嵌套属性a和b?
JavaScript对象解构同时获取父属性与嵌套属性
你可以通过在解构语句中同时声明父属性和嵌套属性的方式实现,具体写法如下:
const obj = { a: { b: 'val', }, }; // 同时解构出a和b const { a, a: { b } } = obj; // 验证结果 console.log(a); // 输出 { b: 'val' } console.log(b); // 输出 'val'
原理说明
原写法const { a: { b } } = obj;中,a:只是用来定位嵌套层级的语法标记,并没有将obj.a赋值给变量a,所以无法访问到a。而新写法中:
a直接从obj中提取整个a属性,赋值给同名变量aa: { b }则深入a内部,提取b属性赋值给变量b
两者可以共存,实现同时获取父属性和嵌套属性的需求。
内容的提问来源于stack exchange,提问作者Abdul Ahmad
相关产品推荐
相关产品推荐

