ES6 扩展运算符

一、扩展运算符用三个点 (...) 来表示,可以将数组或对象里面的值展开。

const a = {a:1,b:2};
console.log({c:3,...a}); //{a:1,b:2,c:3}

二、应用

1、复制数组或对象

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

   console.log(a); // [1, 2, 3]
   console.log(b); // [1, 2, 3]
   console.log(a === b); // false
let a = {a: 1, b: 2}
let b = {...a}

console.log(a) // {a: 1, b: 2}
console.log(b) // {a: 1, b: 2}
console.log(a === b) // false

// 此时的操作相当于 let b = Object.assign({}, a)

 此时的复制都是浅复制。

2、合并数组或对象

   let arr1 = [
       {
           id: 1,
           name: ''
       },
       {
           id: 2,
           name: ''
       }
   ];
   let arr2 = [
       {
           id: 1,
           name: 'cw'
       },
       {
           id: 2,
           name: ''
       }
   ];
   let dataForm = {
    ...arr1,
    ...arr2
   };
   console.log(dataForm); 
   // 相当于 Object.assign(arr1, arr2)

结果:

  const a = [1, 2, 2];
  const b = [4, 5];

  console.log([...a, ...b]) // [1, 2, 3, 4, 5]
  // 相当于 a.concat(b)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值