如何解构 es6 javascript 嵌套对象

How to destructure es6 javascript nested objects

我想在 es6 中构建对象但没有得到结果。

let animal ={
      data:{
          typee:{
              title: "Cow",
              legs:4
          }
      }
} 

let {data:{typee:{title,legs}}}=animal;

现在 console.log(data) 给出输出 Error: data is not defined。 我做错了什么?

解构嵌套对象时,不会将临时值分配给 consts/variables。您必须明确分配它们:

const animal = {"data":{"typee":{"title":"Cow","legs":4}}};

const {
  data, // assign the data
  data: {
    typee, // assign the typee
    typee: {
      title,
      legs
    }
  }
} = animal;

console.log(data, typee, title, legs);

let {data:{typee:{title,legs}}}=animal;

创建 titlelegs 而不是 data。如果您还想获得其他封装属性之一,则必须单独指定它:

//creates data along with title and legs
let {data, data:{typee:{title,legs}}}=animal;
console.log(data,title,legs);