jsのオブジェクトで拡張演算子を使用する方法
ES6のオブジェクトスプレッド演算子(…)は、オブジェクトのコピー、オブジェクトの結合、関数引数の渡すなど多様な用途に利用できます。
- オブジェクトの複製: オブジェクトスプレッド演算子を使用すれば、非常に簡単にオブジェクトを複製できます。
const obj1 = { name: 'Alice', age: 20 };
const obj2 = { ...obj1 };
console.log(obj2); // { name: 'Alice', age: 20 }
- オブジェクトの統合: 複数のオブジェクトを1つのオブジェクトとして結合できます。
const obj1 = { name: 'Alice' };
const obj2 = { age: 20 };
const mergedObj = { ...obj1, ...obj2 };
console.log(mergedObj); // { name: 'Alice', age: 20 }
- オブジェクトのプロパティを関数の引数として渡すことができます。
const userInfo = { name: 'Alice', age: 20 };
function printNameAndAge({ name, age }) {
console.log(`Name: ${name}, Age: ${age}`);
}
printNameAndAge(userInfo); // Name: Alice, Age: 20
- 配列をパラメータのシーケンスに変換する:配列内の要素を関数の引数に変換できます。
const arr = [1, 2, 3];
function sum(a, b, c) {
return a + b + c;
}
console.log(sum(...arr)); // 6
- オブジェクトのプロパティをデストラクチャリングする:オブジェクトのプロパティを簡単にデストラクチャリングできます。
const userInfo = { name: 'Alice', age: 20 };
const { name, age } = userInfo;
console.log(name, age); // Alice 20
オブジェクトの展開演算子は、オブジェクトのシャローコピーにのみ使用できることに注意してください。ネストされたオブジェクトがある場合、オブジェクトの参照だけがコピーされます。