php中文网

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

php中文网

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

以上就是ES6多层对象解构:如何同时获取中间层和内层对象?的详细内容,更多请关注php中文网其它相关文章!