如果有人可以向我解释如何使用spread
,那么最好在何时使用spread
作为示例。
答案 0 :(得分:4)
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中使用点差(...)有哪些不同的方式?
用于:
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()
..如上图所示。