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" // }