rest 剩余操作符(…)和spread扩展运算符(...)

剩余操作符(…) 

一般使用在函数的参数部分 如下:

  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] // 正确的写法

 

rest 剩余操作符(…)和spread扩展运算符(...)

上一篇:gdb命令参考


下一篇:oracle中imp命令具体解释