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

时间:2023-03-09 14:58:14
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