JS中的三个(...)

110 阅读1分钟

简介

这三个...叫做扩展运算符,是在ES6中新增加的内容,

实例

  query: {
        reelCode: '',
        status: '',
        type: ''
      },   
let query = { ...this.query }
//{ reelCode: '',  status: '',type: ''  }
  • 这三个点的作用就是只获取里面的内容;
  • 去掉包裹内容的中括号,花括号之类的;

用法

复制用它

它的用处很广泛,我们随处都可以看到,下面是几个常见的例子

//数组的复制
var arr1 = ['hello']
var arr2 =[...arr1]
arr2 // ['hello']
//对象的复制
var obj1 = {name:'chuichui'}
var obj2 ={...arr}
ob12 //  {name:'chuichui'}

合并用它

//数组的合并
var arr1 = ['hello']
var arr2 =['chuichui']
var mergeArr = [...arr1,...arr2]
mergeArr  // ['hello','chuichui']
// 对象分合并
var obj1 = {name:'chuichui'}
var obj2 = {height:176}
var mergeObj = {...obj1,...obj2}
mergeObj // {name: "chuichui", height: 176}

字符转数组用它

var arr1 = [...'hello']
arr1 // ["h", "e", "l", "l", "o"]

函数传参用它

可以和正常的函数相结合,灵活使用

function f(v,w,x,y,z){ }
var args = [2,3]
f(1,...args,4,...[5])

当我们想把数组中的元素迭代为函数参数时,用它!

function f(x,y,z){}
var args = [1,2,3]
f(...args)

// 以前的方法
f.apply(null,args);