巧妙使用多层解构,轻松获取中间层对象
在使用 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'
通过采用这些方法,可以轻松地从嵌套对象中获取到所需的中间层和底层对象,避免了解构赋值时的局限性。