1 当参数不确定的时候(可以形参拓展,或者实参拓展)
function test(a,b) {
return a + b // 6
}
let arr = [1,5,3]
// 当arr不确定的时候,就直接展开运算
console.log(test(...arr));
2 往数组里面添加元素
let items = [1,2,3];
let newItems = [...items,4];
console.log(newItems) //[1,2,3,4]
3 合并对象属性 (类似于Object.assign的作用)
如果进行合并的时候出现相同的属性,会出现一个覆盖的效果
let obj = { name:'zs',age:18 }
let obj2 = { age:28, address:'湖北武汉' }
let obj3 = {...obj,...obj2}
console.log(obj3)
//{name: 'zs', age: 28, address: '湖北武汉'}
4 合并数组 (不会去重啊!!)
let array = [1,2,3],
newArray = [1,2,3],
mostArray = [...array,...newArray]
console.log(mostArray)
5 解构赋值
let [value,...newValue] = [3,4,5]
console.log(value) //3
console.log(newValue) //[4,5]
6 分解字符串
let str = "test"
console.log(...str) // t e s t
console.log([...str]) //['t', 'e', 's', 't']
let [a,b,c,d] = [...str]
console.log(a); // t
console.log(b); // e
console.log(c); // s
console.log(d); // t
7 复制数组
let arr = [1,2,3,4],
newArr = [...arr]
console.log(newArr);
8 把set集合变成数组 new set(自动去重)
let arr = [1,2,3],
newArr = new Set([...arr])
console.log(newArr) //Set(3) {1, 2, 3}
console.log([...newArr]); // [1,2,3]