zoukankan      html  css  js  c++  java
  • 扩展运算符和rest运算符

    在ES6中。 三个点(...) 有2个含义。分别表示 扩展运算符 和 剩余运算符。

    //demo 1  传递数据代替多个字符串的形式
         function  test(a,b,c){
             console.log(a);
             console.log(b);
             console.log(c);
         }
         var arr = [1, 2, 3];
         test(...arr);//将运算符进行扩展开来
        
    
         //demo2 将一个数组插入到另一个数据中
         var arr1 = [1, 2, 3, 4];
         var arr2 = [...arr1, 4, 5, 6];
         console.log(arr2);//将运算符进行扩展开来
    
    
         //demo3  字符串转数据
         var str='loycoder';
         var arr3= [...str];
         console.log(arr3);//浅拷贝
     /******************剩余运算符(rest)********************/
    
      //demo4  当函数参数个数不确定时,用 rest运算符
        function rest01(...arr) {
            for (let item of arr) {
                console.log(item);
            }
        }
        rest01(1, 3, 5);//是arguments的另一种用法,argument.callee代表的是函数本身
    
        //demo5 当函数参数个数不确定时的第二种情况,...arr只能放在最后一位不然会报错
        function rest02(item, ...arr) {
            console.log(item);
            console.log(arr);
        }
        rest02(1, 2, 3 ,4); //234会整合成为数组进行存储
    
        //demo6 rest运算符配合 解构使用:
        var [a,...temp]=[1, 2, 4];
        console.log(a);
        console.log(temp);
    扩展运算符用三个点号表示,功能是把数组或类数组对象展开成一系列用逗号隔开的值
    rest运算符也是三个点号,不过其功能与扩展运算符恰好相反,把逗号隔开的值序列组合成一个数组

    当三个点(...)在等号左边,或者放在形参上。为 rest 运算符
    当三个在等号右边,或者放在实参上,是 spread运算符

    或者说:

    放在被赋值一方是rest 运算符。放在赋值一方式 spread运算符。


    作者:loycoder
    链接:https://www.jianshu.com/p/3928e0571874
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    matlab2016b和c# .net4.0混合编程
    有限元入门
    math.net 拟合
    excel 错误提示以及其他基础知识
    excel的小bug
    Servlet体系及方法
    Servlet学习笔记
    HTTP协议
    Tomcat
    反射
  • 原文地址:https://www.cnblogs.com/niuyaomin/p/12493680.html
Copyright © 2011-2022 走看看