
巧妙使用多层解构,轻松获取中间层对象
在使用 es6 解构赋值时,如果遇到无法获取中间层对象的情况,不要着急,来看看以下巧妙的解决方案。
问题描述:
想要从一个嵌套对象中同时获取中间层和底层对象,却发现无法使用传统的解构语法正确获取。
解决方案:
要同时获取中间层和底层对象,可以采用以下方法:
- 一行解构:使用嵌套的大括号,依次解构出中间层和底层对象。例如:
const { person, person: { name, age } } = obj;- 多重解构:对中间层对象进行两次解构,先将其解构成一个对象,再解构成底层属性。例如:
const { person = {}, person: { name = '', age } = {} } = obj;代码示例:
const obj = {
person: {
name: 'John',
age: 30
}
};
// 一行解构
const { person, person: { name } } = obj;
console.log(person, name); // 输出:{ name: 'John', age: 30 } 'John'
// 多重解构
const { person: { name: personName = '' } } = obj;
console.log(personName); // 输出:'John'通过采用这些方法,可以轻松地从嵌套对象中获取到所需的中间层和底层对象,避免了解构赋值时的局限性。










