Object.assignとは
オブジェクトを併合するメソッド。
まず使用方法は以下の通りです。
javascript
Object.assign(target, ...sources)
特徴(働き)
Object.assignの最初の引数はターゲットです。
また、二番目からの引数はオブジェクトになります。
結論は、二番目からの引数(オブジェクト)は全て一番目の引数に併合される特徴を持っています。
では実際にコードで確認します。
複数のオブジェクトを一つにまとめる
javascript
const obj1 = {a: 1}
const obj2 = {b: 2}
const obj3 = {c: 3}
const newObj = Object.assign({}, obj1, obj2, obj3)
console.log(newObj) // { "a": 1, "b": 2, "c": 3 }
上記のコードのようにObject.assignはobj1
,obj2
,obj3
のオブジェクトを簡単に一つにまとめることができます。
ただしここで注意すべき点があります。
javascript
const obj1 = {a: 1}
const obj2 = {b: 2}
const obj3 = {c: 3}
const newObj = Object.assign(obj1, obj2, obj3)
console.log(newObj) // { "a": 1, "b": 2, "c": 3 }
console.log(obj1) // { "a": 1, "b": 2, "c": 3 }
一番目の引数にからのオブジェクトではなく、obj1
を入れた場合、obj1
に上書きされてしまいます。
こういう理由で、もしobj1
の変更を望まない場合、Object.assignの一番目の引数にはからのオブジェクト入れる必要があります。