es6中...是什么意思

1、

  var set = new Set([1, 2, 3, 4, 4,4,4,4,2,2,2])
  set=[...set]

2、

  let [head, ...tail] = [1, 2, 3, 4];

3、

  let [x, y, ...z] = ['a'];

  第一个叫做 展开运算符(spread operator),作用是和字面意思一样,就是把东西展开。可以用在arrayobject上都行。
比如:

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

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

 

第二个,第三个叫做 剩余操作符(rest operator),是解构的一种,意思就是把剩余的东西放到一个array里面赋值给它。一般只针对array的解构,其他的没见过。。。
比如:

 
 let a = [1,2,3];
 let [b, ...c] = a;
 b; // 1
 c; // [2,3]
// 也可以
 
let a = [1,2,3];
 
let [b, ...[c,d,e]] = a;
 
b; // 1
 
c; // 2
 
d; // 3
 
e; // undefined
// 也可以
 
function test(a, ...rest){
 
  console.log(a); // 1
 
  console.log(rest); // [2,3]
 
}
 
test(1,2,3)

  

 参考网址:https://segmentfault.com/q/1010000008303593

转载于:https://www.cnblogs.com/shangyixuan/p/10044855.html

 

posted @ 2021-08-11 18:10  星空飘渺  阅读(1385)  评论(0编辑  收藏  举报