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);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?