表示法:...values(三个点+变量名)
作用:用于获取函数的多余参数
注意:values是一个数组
eg:正确写法,rest参数比寻写在最后
function demo2 (a,b,c,...values){
console.log(values);
}
demo2(1,2,3,4,5,6,7,8,9)
扩展运算符
它一般结合数组使用,把数组的元素用逗号分隔开来,组成一个序列。
1.遍历数组
var arr1 = [1,2,3,4,5,6,7,8]
console.log(...arr1);
2.当做数组的元素
var arr2 = ["a","b",...arr1,"c"]
console.log(arr2)
3.数组深拷贝
var arr3 = [...arr1]
console.log(arr2);
console.log(arr3);
arr3[0] = 99;
console.log(arr1);
console.log(arr3);
4.用于函数的调用
function demo1(x, y, z, m,n=0,p=0) {
console.log(x + y + z + m+n+p);
}
var arrNew = [1,2,3,4,5,6,7]
demo1(arrNew[0], arrNew[1], arrNew[2], arrNew[3]);
demo1(...arrNew);
5.与解构赋值结合
var [a, ...arr1] = arrNew;
console.log(a, ...arr1);
6.转化成真正的数组
var str = "hello";
var arrStr = Array.from(str);
console.log(arrStr);
console.log(...str);
console.log([...str]);