es析构多层解析获取不到中间层的对象?

const obj = {
    person: {

    }
}


const {person: {name = '', age} = {}} = obj;

// 此处获取不到person对象
console.log(person, '-----------')

如上图所示,我想同时获取到person对象,要怎么做呢?

在线调试

阅读 1.1k
2 个回答
const obj = {
    person: {
      name: '44',
      age: 18
    }
};

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

符合题意

const obj = {
    person: {}
};

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

多写一行。

使用语言要按照语法规则来写,这是很自然的事情。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏