阅读量:4
ES6的对象扩展运算符(...
)可以用于复制对象、合并对象、传递函数参数等多种应用。
- 复制对象:使用对象扩展运算符可以非常方便地复制一个对象。
const obj1 = { name: 'Alice', age: 20 }; const obj2 = { ...obj1 }; console.log(obj2); // { name: 'Alice', age: 20 }
- 合并对象:可以将多个对象合并为一个对象。
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
需要注意的是,对象扩展运算符只能用于浅拷贝对象,如果对象中有嵌套对象,则只会拷贝对象的引用。