一、剩余参数
剩余参数允许我们把一个不定数量的参数表示一个数组
function foo(arg1,...args) { // 语法就是3个点+变量名
console.log(arg1); //1
console.log(args); //[2,3,4,5]
}
foo(1,2,3,4,5);
剩余参数与数组解构配合使用(不能和对象解构配合使用)
var hobbies=['篮球','足球','羽毛球'];
var [h1,...h]=hobbies;
console.log(h1);
console.log(h);
二、扩展运算符
扩展运算符可将数组转为用逗号分隔的参数序列
var hobbies=['篮球','足球','羽毛球'];
console.log(...hobbies); //console.log()把“,”给吃了,实际上...hobbies结果为 '篮球','足球','羽毛球'
console.log('篮球','足球','羽毛球');
var a=11,b=22,c=33;
console.log(a,b,c);
有点奇怪,因为console.log()会把多个参数值的逗号用作分隔符而不显示出来,所以控制台上面没有打印逗号
扩展运算符可以用来合并数组
var arr1=[1,2,3];
var arr2=[4,5,6];
//方法一
var arr3=[...arr1,...arr2];
console.log(arr3);
//方法二
arr1.push(...arr2);
console.log(arr1);
扩展运算符可以将伪数组转换为真正的数组
var div=document.querySelectorAll('div');
console.log(div instanceof Object); //true
console.log(div); //伪数组
var arr=[...div]; //把伪数组转换为真正的数组
console.log(arr instanceof Array); //true
console.log(arr); //真数组
本文只用于个人学习和记录