Оператор распространения es6, не объединяющий ключевые объекты - PullRequest
0 голосов
/ 28 мая 2018

Я хочу построить объект из ключевых объектов.

Почему оператор распространения не объединяется, как показано ниже?Вместо этого он сохраняет только второй объект.

let a = {
  key1: {
    floo: 'blar'
  }
}

let b = {
  key2: {
    floo: 'blar'
  }
}
console.log(...a, b);

И самое главное, пожалуйста, покажите мне правильный способ сделать это!

Спасибо

1 Ответ

0 голосов
/ 28 мая 2018

Это должно быть

console.log({...a, ...b});

Вышеприведенное объединит два объекта и создаст новый объект с key1 и key2 соответственно.Также обратите внимание, что оператор распространения для объектов не работает так же, как Object.assign().

Обратите внимание, что объединенный объект является просто ссылкой.Например, изменение значения объекта, например

a.key1.floo = 'someotherval';

, приведет к изменению объекта a и отражению в объединенном объекте.

Для получения дополнительной информации см. Распространение в * 1017.* Литералы объектов раздел.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...