Как склеить два объекта JavaScript

Для объединения двух объектов в JavaScript есть несколько способов. Вот несколько из них:

1. Использование оператора Spread (...)

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

const obj1 = { a: 1, b: 2 };
const obj2 = { c: 3, d: 4 };

const mergedObj = { ...obj1, ...obj2 };

console.log(mergedObj); // { a: 1, b: 2, c: 3, d: 4 }

2. Метод Object.assign()

Метод Object.assign() копирует все перечисляемые свойства одного или более исходных объектов в целевой объект.

const obj1 = { a: 1, b: 2 };
const obj2 = { c: 3, d: 4 };

const mergedObj = Object.assign({}, obj1, obj2);

console.log(mergedObj); // { a: 1, b: 2, c: 3, d: 4 }

3. Использование библиотеки Lodash

Lodash предоставляет функцию _.merge(), которая глубоко объединяет свойства объектов.

const _ = require('lodash');

const obj1 = { a: 1, b: 2 };
const obj2 = { c: 3, d: 4 };

const mergedObj = _.merge({}, obj1, obj2);

console.log(mergedObj); // { a: 1, b: 2, c: 3, d: 4 }

Пример использования

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

const obj1 = { name: "John", age: 30 };
const obj2 = { job: "Developer", city: "New York" };

// Spread
const spreadObj = { ...obj1, ...obj2 };
console.log("Spread:", spreadObj);

// Object.assign()
const assignObj = Object.assign({}, obj1, obj2);
console.log("Object.assign():", assignObj);

// Lodash merge
const _ = require('lodash');
const lodashObj = _.merge({}, obj1, obj2);
console.log("Lodash.merge():", lodashObj);

Закладка Постоянная ссылка.

Обсуждение закрыто.