ES6でオブジェクトをマージする方法は何ですか?
ES6でオブジェクトを結合する方法には、以下のような種類があります:
- 展開演算子(…)を使用する対象:
- const obj1 = {a: 1, b: 2};
const obj2 = {c: 3, d: 4};
const merged = {…obj1, …obj2};
console.log(merged); // {a: 1, b: 2, c: 3, d: 4} を出力します。 - Object.assign()メソッドを使用すると:
- obj1というオブジェクトには、aに1、bに2が含まれています。また、obj2というオブジェクトには、cに3、dに4が含まれています。これら2つのオブジェクトをマージして新しいオブジェクトを作成します。新しいオブジェクトは、a: 1, b: 2, c: 3, d: 4となります。それをコンソールに出力します。
- Object.getOwnPropertyDescriptors()メソッドとObject.defineProperties()メソッドを使用する:
- obj1 = {a: 1, b: 2};
obj2 = {c: 3, d: 4};
descriptors = Object.getOwnPropertyDescriptors(obj2);
merged = Object.defineProperties(obj1, descriptors);
console.log(merged); // {a: 1, b: 2, c: 3, d: 4}
これらの手法を使用すると、複数のオブジェクトの属性を結合して新しいオブジェクトを作成できます。