[英]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.