剩余参数语法和扩展运算符

剩余参数语法(rest parameters)用于在函数定义中表示接受不定数量参数,并把他们封装成一个数组。在函数内部,可以使用剩余参数来操作参数数组,例如进行遍历、转换等操作。

示例:function myFunction(...args){....}


export default function sum(...args) {
  return args.reduce((p, c) => p + c, 0);
}

扩展运算符(spread operator)用于在函数调用或数组/对象字面量中展开数组或对象。它可以将一个数组或对象展开成多个独立的值。在函数调用中,扩展运算符可以用来传递数组中的值作为函数的参数。

示例:

  • 函数调用中:myFunction(...args)
  • 数组字面量:const newArray = [...oldArray]
  • 对象字面量:const newObj = {...oldObj}

尽管他们在语法上相似(都是用...),但它们的作用和使用场景是不用的。剩余参数用于接收函数的多个参数并封装成数组,而扩展运算符则是将数组或对象展开成独立的值。

// 1.数组合并
const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const mergedArray = [...arr1, ...arr2];

console.log(mergedArray); // 输出 [1, 2, 3, 4, 5, 6]

// 2.函数参数传递
function myFunction(a, b, c) {
  console.log(a + b + c);
}

const args = [1, 2, 3];
myFunction(...args); // 输出 6

// 3.数组复制
const originalArray = [1, 2, 3];
const copiedArray = [...originalArray];

console.log(copiedArray); // 输出 [1, 2, 3]

// 4.对象合并
const obj1 = { name: 'Alice', age: 30 };
const obj2 = { city: 'New York', country: 'USA' };
const mergedObject = { ...obj1, ...obj2 };

console.log(mergedObject);
// 输出 { name: 'Alice', age: 30, city: 'New York', country: 'USA' }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值