微信公众号
扫描关注微信公众号
博客大厅

剩余运算符和扩展运算符有什么区别?

原创 来源:博客站 阅读 0 03月07日 09:15 听全文

剩余运算符(Rest Operator)和扩展运算符(Spread Operator)在 JavaScript 中都使用 ... 符号,但它们的用途和功能不同。

剩余运算符(Rest Operator)

剩余运算符用于将多个元素合并为一个数组,通常用在函数参数或解构赋值中。

1. 函数参数

在函数定义时,剩余运算符可以将多个参数收集到一个数组中。

function sum(...numbers) {
  return numbers.reduce((acc, num) => acc + num, 0);
}

console.log(sum(1, 2, 3, 4)); // 输出: 10

2. 解构赋值

在解构赋值中,剩余运算符可以将剩余的元素放入一个数组。

const [first, second, ...rest] = [1, 2, 3, 4, 5];
console.log(first); // 输出: 1
console.log(second); // 输出: 2
console.log(rest); // 输出: [3, 4, 5]

扩展运算符(Spread Operator)

扩展运算符用于将数组或对象展开为多个元素,通常用于数组、函数调用或对象字面量中。

1. 数组

扩展运算符可以将数组展开为多个元素。

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

2. 函数调用

扩展运算符可以将数组展开为函数的参数。

function add(a, b, c) {
  return a + b + c;
}

const numbers = [1, 2, 3];
console.log(add(...numbers)); // 输出: 6

3. 对象

扩展运算符可以将对象展开为多个属性。

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

总结

  • 剩余运算符:将多个元素合并为一个数组,用于函数参数或解构赋值。
  • 扩展运算符:将数组或对象展开为多个元素,用于数组、函数调用或对象字面量。

两者虽然使用相同的符号 ...,但功能相反。

学在每日,进无止境!更多精彩内容请关注微信公众号。
原文出处: 内容由AI生成仅供参考,请勿使用于商业用途。如若转载请注明原文及出处。
出处地址:http://www.07sucai.com/tech/510.html
版权声明:本文来源地址若非本站均为转载,若侵害到您的权利,请及时联系我们,我们会在第一时间进行处理。
>