JavaScriptでランタイム時に2つの簡単なオブジェクトをマージする方法


  1. スプレッド演算子を使用する方法:

    const obj1 = { a: 1, b: 2 };
    const obj2 = { b: 3, c: 4 };
    
    const mergedObj = { ...obj1, ...obj2 };
    console.log(mergedObj);
    // 結果: { a: 1, b: 3, c: 4 }

    スプレッド演算子を使用することで、既存のオブジェクトのプロパティを展開し、新しいオブジェクトにマージすることができます。

  2. Object.assign()メソッドを使用する方法:

    const obj1 = { a: 1, b: 2 };
    const obj2 = { b: 3, c: 4 };
    
    const mergedObj = Object.assign({}, obj1, obj2);
    console.log(mergedObj);
    // 結果: { a: 1, b: 3, c: 4 }

    Object.assign()メソッドを使用することで、指定したターゲットオブジェクトにソースオブジェクトのプロパティをマージすることができます。ここでは空のオブジェクトをターゲットとして指定しています。

  3. Lodashライブラリのmerge()関数を使用する方法:

    const _ = require('lodash');
    
    const obj1 = { a: 1, b: 2 };
    const obj2 = { b: 3, c: 4 };
    
    const mergedObj = _.merge({}, obj1, obj2);
    console.log(mergedObj);
    // 結果: { a: 1, b: 3, c: 4 }

    Lodashライブラリは、便利なユーティリティ関数を提供しています。merge()関数は、複数のオブジェクトをマージするために使用できます。

これらはいくつかの一般的な方法ですが、JavaScriptには他にも多くの方法があります。オブジェクトのマージ方法は、使用しているフレームワークやライブラリによっても異なる場合があります。必要に応じて、適切な方法を選択してください。