ES6扩展运算符和剩余参数运算符

扩展运算符

主要是为了扩展、展开,看下面例子

  		let Arr = [1, 2, 3, 4, 5,6, 7, 8, 9]
        console.log(...Arr)//扩展运算符 
        //1, 2, 3, 4, 5,6, 7, 8, 9 
         //相当于打印Arr [0] Arr[1] Arr[2] Arr[3].......
        console.log(Arr[0],Arr[1],Arr[2],Arr[3],Arr[4],Arr[5],Arr[6],Arr[7],Arr[8])
       //1, 2, 3, 4, 5,6, 7, 8, 9 
       两个结果相同

扩展运算符是一个浅拷贝的过程

        let Arr = [1, 2, 3, 4, 5,6, 7, 8, 9,{name:"zjq"}]
        let Brr =[...Arr]
        Brr[9].name = 'ZJQ'
        console.log(Arr) //
        console.log(Brr) //
         //两个打印的结果相同 name都为ZJQ 所以扩展运算符是浅拷贝

扩展运算符可以将伪数组转成真数组

    <button>1</button>
    <button>2</button>
    <button>3</button>
    <button>4</button>
    <script>
        let btn = document.getElementsByTagName('button')
        console.log(btn)
        //是一个元素集合 伪数组 
        //HTMLCollection(4) [button, button, button, button]  
        let btn2 = [...btn]
        console.log(btn2)
        //转换成真数组
        // [button, button, button, button]
    </script>

将伪数组转成真数组的方式:
1.Array.from()
2.扩展运算符
3.for循环配合push

剩余参数运算符

将所有参数集合到一个数组里面

        function zjq(...list) { //剩余参数运算符
            console.log(list) //[1,2,3]
            //可以对参数进行处理
            for (let i=0; i < list.length; i++) {
                console.log(list[i])
                //1  2  3
            }
        }
        zjq(1, 2, 3)

Object.assign() 合并可枚举对象 浅复制

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

六卿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值