繁体   English   中英

如何在 ES6 中使用 spread(...)?

[英]how to use spread(…) in ES6?

如果有人可以向我解释如何使用spread ,那么何时使用spread示例会很棒。

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() 方法可以处理它。

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

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

更容易写,更容易阅读。

在 Ecma 6 中使用 spread(...) 的不同方法是什么?

对...有用:

1.组合数组

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

arr1.push(...arr2)

2. 复制数组

而不是使用 slice()

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

你可以:

var a = [...arr1]

3. 调用函数而不是使用apply()

..如上图所示。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM