Object.assign()の基本的な使用法
Object.assign()メソッドは、列挙可能なすべてのプロパティの値を1つ以上のソースオブジェクトからターゲットオブジェクトにコピーするために使用されます。ターゲットオブジェクトを返します。
Object.assign(target、…sources)[ターゲット:ターゲットオブジェクト]、[ソース:ソースオブジェクト(複数)]
1.例1(結合オブジェクト)
let object1 = {
a:1,
b:2,
c:3
};
let object = Object.assign({}, object1,{d:4,e:5});
console.log(object) //{a: 1, b: 2, c: 3, d: 4, e: 5}
2.例2(オブジェクトのマージ:ターゲットオブジェクトの属性が同じキーを持っている場合、属性はソースオブジェクトの属性によって上書きされます。後続のソースオブジェクトの属性は、同様に前のソースオブジェクトの属性をオーバーライドします。 )
つまり、オブジェクトのプロパティは、同じキーを持っていると上書きされます
let object1 = {
a:1,
b:2,
c:3
};
let object2 = {
c:3,
d:4,
e:5
};
let object = Object.assign({}, object1,object2);
console.log(object) // {a: 1, b: 2, c: 3, d: 4, e: 5}
3.例3文字列の場合、次のように自動的にオブジェクトに変換され、その他は無視されます。
const v1 = "abc";
const obj = Object.assign({}, v1);
console.log(obj); // { "0": "a", "1": "b", "2": "c" }
const v2 = true;
const v3 = 10;
const v4 = undefined;
const v5 = null;
const obj1 = Object.assign({}, v1,v2,v3,v4);
console.log(obj1); // { "0": "a", "1": "b", "2": "c" }