Hello! 欢迎来到小浪资源网!



ES6多层对象解构:如何同时获取中间层和内层对象?


ES6多层对象解构:如何同时获取中间层和内层对象?

es多层解析获取中间层对象

问题描述:

在使用es6语法进行多层解析时,遇到这样的场景:

const obj = {     person: {      } }   const {person: {name = '', age} = {}} = obj;  // 此处获取不到person对象 console.log(person, '-----------')

希望能够同时获取到中间的person对象,但按照上述代码却无法实现。

解答:

想要获取person对象,需要在解析时,将中间层作为独立对象解析,然后再解析内层对象。

方法一:一行解构

const { person, person: { name, age } } = obj; console.log(person, name, age)  // {name: '44', age: 18} '44' 18

方法二:嵌套解构

const {person = {}, person: {name = '', age} = {}} = obj; console.log(person, name, age) // {} '' undefined

相关阅读