ES6_8、rest参数和扩展运算符
Es6 引入rest参数,用于获取函数的实参,用来代替arguments
rest参数用三个点(...)表示
function data(...param){
console.log(param);//rest返回的是一个数组
}
data(5,6,"小明",{name:"小李",age:18});
rest参数必须要放到参数最后。
扩展运算符
扩展运算符在给数组、对象拼接很常用,原有的属性保存,新增的属性添加进去。
扩展运算符(...)能将数组转换为逗号分隔的参数序列。
const Person=["小张","小明","小王"];
console.log(...Person);//...Person[2]:可以直接拿到里面的某个参数。
1、数组的合并
const p1=["小明","小张"];
const p2=["小陈",...p1];
console.log(p2);
2,数组的克隆
这样拷贝如果原数组里的元素有引用类型的,那这样也只是把里面元素进行浅拷贝。
浅拷贝:就是浅拷贝只复制指向某个对象的指针,而不复制对象本身,新旧对象还是共享同一块内存。
深拷贝是直接整个新对象出来并且把原来对象的数据放进去。
const h1=['a','c','e'];
const h2=[...h1];
console.log(h2);
3,将伪数组转为真正的数组
const divs=document.querySelectorAll("div");
const divarray=[...divs];
console.log(divarray);