代码之家  ›  专栏  ›  技术社区  ›  Amruth

如何在ECMA 6中使用排列(…)?

  •  -2
  • Amruth  · 技术社区  · 8 年前

    如果有人能告诉我如何使用 spread ,何时使用 传播 以身作则很好。

    1 回复  |  直到 8 年前
        1
  •  4
  •   leonardofed    8 年前

    这个 spread operator (不要与 rest parameters )类似于 apply() 是的。

    它允许调用一个函数,而不是将数组的参数作为单个值传递。

    例如:

    var myArray = [5, 10, 50];
    Math.max(myArray);    // Error: NaN
    Math.max.apply(Math, myArray);  
    

    这个 Math.max() 方法不支持数组;它只接受数字。当数组被传递给math.max()函数时,它会抛出一个错误。但是当使用apply()方法时,数组将作为单独的数字发送,因此math.max()方法可以处理它。

    使用Spread运算符,您不再需要使用 应用() 方法,您可以轻松地将表达式扩展为多个参数:

    var myArray = [5, 10, 50];
    Math.max(...myArray);    // 50
    

    写起来容易,读起来容易。

    在ECMA 6中使用spread()有哪些不同的方法?

    用于:

    一。组合数组

    变量arr1=[1,2,3]; 变量arr2=[4,5,6];

    arr1.推(…arr2)

    2.复制数组

    而不是使用slice()

    var arr1 = [1, 2, 3, 4, 5, 6];
    var a = arr1.slice();
    

    你可以:

    var a = [...arr1]
    

    三。调用函数而不是使用 应用()

    ……如上图所示。