剩余操作符(…)
一般使用在函数的参数部分 如下:
arrayFun: function ([A, ...B], ...C) { console.log(A) // 5 console.log(B) // [1,2,3,4] console.log(C) // [5,6,7,8] } this.arrayFun([5, 1, 2, 3, 4], 5, 6, 7, 8)
还可以用于数组合并和数组去重
arrayFun : function(){ let arr1 = [1, 2, 3, 4] let arr2 = [2, 3, 4, 5] let arr3 = [...arr1 , ...arr2] // 数组合并 console.log(C) // [1, 2, 3, 4, 2, 3, 4, 5] arr3 = [...new Set(arr3 )] // 数组去重 console.log(C) // [1,2,3,4,5] }
this.arrayFun()
扩展操作符(…)
ES5获取最大值的例子
var arr = [6, 89, 3, 45] var maximus = Math.max.apply(null, arr) // 返回 89
ES6使用扩展运算符获取最大值
const arr = [6, 89, 3, 45]; const maximus = Math.max(...arr); // 返回 89
Math.max()函数需要传入的是由逗号分开的参数,而不是一个数组
展开运算符可以提高代码的可读性.这对后续的代码维护是有积极作用的。
展开操作符只能够在函数的参数中,或者数组之中使用。下面的代码将会报错:
let arr = [1,2,3,4]
let arr1 = ...arr; // 将会发生语法错误
let arr1 = [...arr] // 正确的写法