JavaScript

JavaScriptでObjectをマージしたい

どんな時

  • フレームワークのコンポーネントで、初期値を与える処理をしたい場合。
  • CLASSのconstructorの処理

何を使うの?

Object.assign()を使用する。
*当然ながら、IEでは使えない.

構文

Object.assign(target, ...sources)

正確にはmergeではないです。

列挙可能なプロパティの値を、ソースObjからターゲットObjにコピーする。
戻り値は、ターゲットObj。

コード例

マージのような事

const obj01={a:'aaa'};
const obj02={b:'bbb'};

// targetObjの中身は、obj01とobj02のプロパティ。
const targetObj = Object.assign( obj01, obj02);

オブジェクトのコピーのようなこともできます。

const objA = {a:'aaa'};
//copyオブジェクトにはobjAのプロパティがコピーされている。
const copy = Object.assign( {}, objA);

参考

https://iwb.jp/javascript-class-constructor-object-assign/
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Object/assign
https://qiita.com/SE-studying-now/items/ecdbc0317ba1806aed61