zoukankan      html  css  js  c++  java
  • ES6

    扩展运算符

    扩展运算符(spread)是三个点(...)。它好比 rest 参数的逆运算(函数),将一个数组转为用逗号分隔的参数序列。

    rest: 变量将多余的参数放入数组中。
    spread(扩展):rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列。
    总结:二者为逆操作。

    console.log(...[1, 2, 3])
    // 1 2 3
    

    该运算符主要用于函数调用。

    /**
     * 1.该运算符将一个数组,变为参数序列。
     */
    function add(x, ...y) {
      // x = 10 , ...y = [4,38]
      return x + y.reduce((sum, num) => {
        return sum + num;
      })
    }
    
    const numbers = [4, 38];
    console.log(add(8,...numbers));  //50
    
    
    /**
     * 2.扩展运算符与正常的函数参数可以结合使用,非常灵活。
     */
    function f(v, w, x, y, z) {
      // v = -1, 
      // w = 0,x = 1,
      // y = 2,z = 3
    }
    const args = [0, 1];
    var arr = f(-1, ...args, 2, ...[3]);
    
    console.log(arr);  // 42
    
    /**
     * 3.替代push
     */
    // ES5的 写法
    var arr1 = [0, 1, 2];
    var arr2 = [3, 4, 5];
    Array.prototype.push.apply(arr1, arr2);
    console.log(arr1); //(6) [0, 1, 2, 3, 4, 5]
    
    // ES6 的写法
    let arr3 = [0, 1, 2];
    let arr4 = [3, 4, 5];
    arr3.push(...arr4);
    console.log(arr3); //(6) [0, 1, 2, 3, 4, 5]
    
    
    

    参考:

    阮一峰 - ES6入门 - 扩展运算符

  • 相关阅读:
    java连接Ldap
    REGEXP_LIKE,REGEXP_INSTR,REGEXP_SUBSTR,REGEXP_REPLACE
    正则表达式学习笔记
    旋转的播放按钮
    折叠table中的tr
    css选择器.md
    清除浮动.md
    jquery-validate使用.md
    EL表达式.md
    C标签的使用.md
  • 原文地址:https://www.cnblogs.com/tangge/p/12019771.html
Copyright © 2011-2022 走看看