javascript-函数剩余与展开运算符
函数剩余参数和展开运算符
1. 动态传参
在JavaScript中,函数可以通过arguments
对象来接收动态数量的参数。这是一个类数组对象,包含传递给函数的所有参数。
1 | function add() { |
2. 剩余运算符(Rest Operator)
剩余运算符允许我们将一个不定数量的参数表示为一个数组。它使用三个点...
前缀,并且必须是函数的最后一个参数。
1 | function getSum(a, b, ...arr) { |
注意:与arguments
不同,通过剩余运算符得到的arr
是一个真正的数组,可以直接使用数组的方法。
3. 展开运算符(Spread Operator)
展开运算符也使用三个点...
,但它用于在调用函数或构建数组时展开数组(或其他可迭代对象)。
典型应用示例:
求最大最小值:
1
2const numbers = [1, 2, 3, 4, 5];
console.log(Math.max(...numbers)); // 使用展开运算符展开数组,找到最大值合并数组:
1
2
3const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const combinedArr = [...arr1, ...arr2]; // 合并两个数组,不修改原数组
展开运算符不会修改原来的数组,而是创建一个新的数组。