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);
posted @ 2022-03-17 10:58  青仙  阅读(50)  评论(0编辑  收藏  举报