Разрушение Вложенных объектов в JavaScript | Уничтожить родительские и дочерние объекты второго уровня - PullRequest
0 голосов
/ 21 января 2019

Мне нужно деструктурировать и получить значения title, child, childTitle из этого объекта

const obj1 = {
   title : 'foo',
   child : {
               title2 : 'bar'
           }
   }

let {title, child} = obj1;
console.log(title)   //'foo'
console.log(child)   //{ title : 'bar' } 

// but couldn't get child object this way

let { title , child : { title2 } } = obj1;
console.log(title)   //'foo'
console.log(child)   //unDefined
console.log(title2)  //'bar'

Как я могу получить дочерний объект?

Ответы [ 2 ]

0 голосов
/ 21 января 2019

child: { title2 } просто разрушает дочернюю собственность. Если вы хотите получить дочернее свойство, просто укажите его в операторе: let { title, child, child: { title2 } } = obj1;

const obj1 = {
  title: 'foo',
  child: {
    title2: 'bar'
  }
}

let { title, child, child: { title2 } } = obj1;

console.log(title);
console.log(child); 
console.log(title2);
0 голосов
/ 21 января 2019

При выполнении child: { child : { title2 } }, child не является экземпляром, поэтому вы все равно можете делать { child, child : { title2 } }, чтобы получить и title2, и child.

Так же просто, как:

const obj1 = {
  title: "foo",
  child: {
    title2: "bar"
  }
};

const { title, child, child : { title2 } } = obj1  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...