ES6---扩展运算符详解

概念:用‘…’,三个点表示,将迭代对象展开到其单独的元素中,简化代码。用于展开数组、对象或者函数参数
1.数组:
(1)展开数组:将一个数组展开为多个独立的元素

const arr1 = [1, 2, 3];
const arr2 = [...arr1, 4, 5, 6];
console.log(arr2); // [1, 2, 3, 4, 5, 6]

(2)合并数组:合并多个数组

const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const mergedArr = [...arr1, ...arr2];
console.log(mergedArr); // [1, 2, 3, 4, 5, 6]

(3)复制数组:

const arr1 = [1, 2, 3];
const arr2 = [...arr1];
console.log(arr2); // [1, 2, 3]

2.对象:
(1)展开对象:展开对象的属性

const obj1 = { name: 'Alice', age: 20 };
const obj2 = { ...obj1, city: 'New York' };
console.log(obj2); // { name: 'Alice', age: 20, city: 'New York' }

(2)合并对象

const obj1 = { name: 'Alice', age: 20 };
const obj2 = { city: 'New York', country: 'USA' };
const mergedObj = { ...obj1, ...obj2 };
console.log(mergedObj); // { name: 'Alice', age: 20, city: 'New York', country: 'USA' }

(3)复制对象:取出参数对象中的所有可遍历属性,拷贝到当前对象之中

let bar = { a: 1, b: 2 };
let baz = { ...bar }; // baz 现在等于 { a: 1, b: 2 }

(4)对象的解构赋值:从一个对象取值,并将目标对象自身的所有可遍历但尚未被读取的属性分配到指定的对象上

let { x, y, ...z } = { x: 1, y: 2, a: 3, b: 4 };
console.log(x); // 输出:1
console.log(y); // 输出:2
console.log(z); // 输出:{ a: 3, b: 4 }

3.函数:
(1)传递函数的参数,将数组展开为多个参数

const numbers = [1, 2, 3, 4, 5];
const sum = (a, b, c, d, e) => a + b + c + d + e;
console.log(sum(...numbers)); // 15
  • 11
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值