• ES6`…`扩展(spread)/收集(rest)运算符详解


    一、扩展运算符

    我理解的,用()包起来就是扩展成单个值,用[]包起来就是扩展成数组。

    1.代替apply

    var test = function(a,b,c){
      console.log(a,b,c);
    }
    var arr = [1,2,3];
    test(...arr); // 1 2 3
    

    用apply的写法:

    test.apply(null,arr);
    

    2.代替concat

    var arr1 = [1,2,3,4];
    var arr2 = [0,...arr1,5,6];
    console.log(arr2); // [0, 1, 2, 3, 4, 5, 6]
    

    用concat的写法:

    [0].concat(arr1,5,6); // [0, 1, 2, 3, 4, 5, 6]
    

    3.代替split

    var str = 'hello';
    var arr3 = [...str];
    console.log(arr3); // ["h", "e", "l", "l", "o"]
    

    用split的写法:

    'hello'.split(''); // ["h", "e", "l", "l", "o"]
    

    二、收集运算符

    1.接收不确定个数的形参

    此功能和JAVA一样,当形参传入个数不确定时可用在形参上。

    var rest2 = function(item, ...arr){
      console.log(item,arr);
    }
    rest2('hello',2,3,3,4); // hello [2, 3, 3, 4]
    

    2.配合解构时使用

    var [a,...temp] = [1,2,3,4];
    console.log(a,temp); // 1 [2, 3, 4]
    
  • 相关阅读:
    网络编程之UDP
    深入浅出Object.defineProperty()
    Vue知识点总结
    JS基础-垃圾回收机制与内存泄漏的优化
    JS基础-作用域
    ES6知识点
    JS基础-this
    JS基础-事件循环机制
    JS基础-事件
    JS基础-事件队列
  • 原文地址:https://www.cnblogs.com/firefly-pengdan/p/13426066.html
Copyright © 2020-2023  润新知