JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JavaScriptで2つのオブジェクトのプロパティを動的にマージする方法

JavaScriptで2つ以上のオブジェクトのプロパティを1つにまとめたい場合、スプレッド構文(...)を使うのが最もシンプルで効果的な方法です。{ ...object1, ...object2, ...objectN } のように記述するだけで、複数のオブジェクトのプロパティを動的にマージできます。

マージの基本構文

スプレッド構文は、新しいオブジェクトの中に既存のオブジェクトを展開して結合します。なお、同じプロパティ名が複数のオブジェクトに存在する場合は、後ろに記述したオブジェクトの値が優先される点に注意してください。

サンプルコード

以下のコードでは、2つのオブジェクトをスプレッド構文でマージしています。

var firstObject = {
    firstName: 'John',
    lastName: 'Smith'
};
var secondObject = {
    countryName: 'US'
};
var mergeObject = {...firstObject, ...secondObject};
console.log(mergeObject);

プログラムの実行方法

上記のプログラムを実行するには、Node.jsを使って次のコマンドを入力します。

node fileName.js

ここでは、ファイル名を demo307.js としています。

実行結果

このプログラムを実行すると、コンソールに次のような出力が表示されます。

PS C:\Users\Amit\javascript-code> node demo307.js
{ firstName: 'John', lastName: 'Smith', countryName: 'US' }

補足: Object.assign() を使う方法

ES2015以降の環境では、Object.assign() を使って同様のマージを行うこともできます。

var mergeObject = Object.assign({}, firstObject, secondObject);

どちらの方法でも結果は同じですが、スプレッド構文の方が記述が簡潔で可読性が高いため、現在のモダンなJavaScript開発では広く使われています。

  1. JavaScriptで2つのオブジェクトをマージする方法を解説

    JavaScriptでは、スプレッド構文(...)を使うことで、2つのオブジェクトを簡単に1つにマージ(結合)できます。各オブジェクトの前に「...」を付けて新しいオブジェクトリテラル内に展開するだけで、すべてのプロパティが統合されたオブジェクトが生成されます。以下に、2つのJavaScriptオブジェクトをマージするコードの例を示します。コード例<!DOCTYPE html> <html lang=ja> <head> <meta charset=UTF-8 /> <meta name=viewport content=width=dev

  2. 【JavaScript入門】複数のオブジェクトを1つにマージして単一のオブジェクト配列を作成する方法

    JavaScriptでは、Object.assign()メソッドとスプレッド構文(...)を組み合わせることで、配列内の複数のオブジェクトを1つのオブジェクトに簡単にマージすることができます。 Object.assign()は、1つ以上のコピー元オブジェクトから、コピー先のオブジェクトへすべてのプロパティをコピーするためのメソッドです。スプレッド構文を使って配列の要素を展開することで、各オブジェクトのキーと値が1つのオブジェクトに統合されます。 コード例 以下のコードは、配列内の複数のオブジェクトを単一のオブジェクトにマージする例です。 <!DOCTYPE html> <ht