Правильный способ разрушения объекта

У меня есть сценарий, где я получаю объект из обещания, и мне нужно добавить некоторые ключи этого объекта к другому объекту. Например:

// Received from promise
object_1 = {
    name: 'SH'
};

// Want to add object_1.name to object_2 
object_2 = {
    id: 1234
};

Обычно я мог бы сделать следующее, но я хочу сделать это с деструктуризацией объекта

object_2.name = object_1.name;

иметь:

object_2 = {
    id: 1234,
    name: 'SH'
};   

2 ответа

Решение

Вы можете использовать назначение деструктурирования целевого объекта / свойства с шаблоном назначения свойства объекта [YDKJS: ES6 & Beyond].

var object_1 = { name: 'SH' },
    object_2 = { id: 1234 };

({ name: object_2.name } = object_1);

console.log(object_2);

Вы можете получить ожидаемый результат, используя разрушение объекта следующим образом:

// Received from promise
object_1 = {
    name: 'SH'
};

// Want to add object_1.name to object_2 
object_2 = {
    id: 1234
};

object_2 = {
  ...object_2,
  ...object_1
}
Другие вопросы по тегам