es6笔记(3.1)三个点的“...”的作用

展开运算符(spread operator)

ES6中“...”的作用之一是,展开运算符。
顾名思义,它的作用是把某些结合数据展开。
在Array、Object、Set和Map上都可以使用。

//array
let a = [1,2,3];
let b= [0,...a,4];   // b=[0,1,2,3,4]

//object
let obj = {a:1,b:2};
let obj1 = {...obj,c:3};   // {a:1, b:2 , c:3}

//set
let set = new Set([1,2,3]);
let set2 = new Set([...set,3,4]);  // Set(4)[1,2,3,4]

//map
let map = new Map([['a',2],['b',3]]);
let map1 = new Map([['c',3],...map]); //Map(3) {"c" => 3,  "a" => 2, "b" => 3}

剩余操作符(rest operator)

另一种作用是 用于解构,意思是把剩余的东西放到一个array里,并赋值给 【...变量】。

let a = [1,2,3,4];
let [b,...c] = a;
console.log(b); //1
console.log(c); //[2,3,4]
/*--------------------------*/

let a = [1,2,3];

//b = 1
//然后剩下的2,3以[2,3]的形式赋值给[c,d,e]
let [b,...[c,d,e]] = a;
b  //1
c  //2
d  //3
e  //undefined
posted @ 2018-02-08 18:22  大黑兔  阅读(1015)  评论(0编辑  收藏  举报