博客链接:https://blog.csdn.net/astonishqft/article/details/82899965
用于取出参数对象中的所有可遍历属性,拷贝到当前对象之中。
const [first, ...rest] = [1, 2, 3, 4, 5];
first // 1
rest // [2, 3, 4, 5]
- 扩展运算符还可以将字符串转为真正的数组
[...'hello']// [ "h", "e", "l", "l", "o" ]
作用:
1 展开一个数组
let arr1 = [1,3,5,7,9]let arr2 = [2,4,6,8,10] console.log(arr1) console.log(...arr1)//展开一个数组
2 连接两个数组
let arr3 = [...arr1,...arr2]//链接数组
3 传入参数
function sum (...numbers) { return numbers.reduce((prevalue,currentvalue)=>{ return prevalue+currentvalue }) }
4 对象不能展开,但是可以通过字面量进行赋值
let person = {name:'tom',age:18} let person2 = person let person3 = {...person}//...person是,{}字符量的形式 赋值!!! //console.log(...person);//展开运算符不能展开对象。
5 添加
let person4 ={...person,name:'cc',address:'地球'} console.log(person4);
6 比较常见的应用是可以将某些数据结构转为数组,比如:
// arguments对象 function foo() { const args = [...arguments]; }