Posted at

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