ECMAScript 展开运算符
由三个点 ( …) 表示,JavaScript 扩展运算符是在 ES6 中引入的。它可用于将集合和数组中的元素扩展为单个单独的元素。
扩展运算符可用于创建和克隆数组和对象、将数组作为函数参数传递、从数组中删除重复项等等。
语法
扩展运算符只能用于可迭代对象。它必须在可迭代对象之前使用,没有任何分隔。例如:
1.展开一个数组
console.log(...arr);
const arr = [1,2,3]; console.log(...arr); // 1 2 3
const arr2 = [...arr, 4, 5, 6]; console.log(arr2); // [1, 2, 3, 4, 5, 6]
2.在函数中使用
function add(...numbers) {
let total = 0;
for (let i = 0; i<numbers.length; i++){
total += numbers[i];
}
return total;
}
console.log(add(1,2,3,4,5)); //15
3.在对象中使用
3.1深拷贝对象
let stu = {name : 'zzs', age: 37};
let stuCopy = {...stu};
console.log(stuCopy); // {name: 'zzs', age: 37}
3.2合并对象
let stu = {name : 'zzs', age: 30};
const student = {
...stu,
city: 'Nanjing',
province: 'Jiang su',
};
console.log(student );
//{
// "name": "zzs",
// "age": 30,
// "city": "Nanjing",
// "province": "Jiang su"
// }