统计
  • 文章总数:76 篇
  • 评论总数:174 条
  • 分类总数:6 个
  • 最后更新:2天前

展开运算符和剩余参数

本文阅读 2 分钟
首页 技术交流 正文

图片名称
在JavaScript中,展开运算符(spread operator)和剩余参数(rest parameters)是两个非常有用的功能,它们都使用省略号(...)语法,但用途和场景不同。

展开运算符(Spread Operator)

展开运算符可以将一个数组或类数组对象展开成一系列用逗号分隔的值。它主要用于函数调用、数组字面量或对象字面量中。

示例:

  1. 函数调用

    let numbers = [1, 2, 3];
    console.log(...numbers); // 输出:1 2 3
  2. 数组字面量

    let parts = ['shoulders', 'knees'];
    let lyrics = ['head', ...parts, 'and', 'toes']; // ['head', 'shoulders', 'knees', 'and', 'toes']
  3. 对象字面量(ES2018引入):

    let objClone = { ...obj };

剩余参数(Rest Parameters)

剩余参数语法允许我们将不定数量的参数表示为一个数组。它主要用于函数定义中,收集所有剩余的参数到一个数组里。

示例:

  1. 函数定义

    function sum(...numbers) {
      return numbers.reduce((total, num) => total + num, 0);
    }
    console.log(sum(1, 2, 3)); // 输出:6
  2. 结合已有的参数

    function myFun(a, b, ...manyMoreArgs) {
      console.log(a);
      console.log(b);
      console.log(manyMoreArgs);
    }
    myFun('one', 'two', 'three', 'four', 'five', 'six');
    // 输出:
    // "one"
    // "two"
    // ["three", "four", "five", "six"]

区别

  • 展开运算符用于将数组或类数组对象展开为单独的元素。
  • 剩余参数用于将多个独立的参数收集到一个数组中。

两者虽然看起来相似,但它们在代码中的作用和位置是不同的。展开运算符用于“展开”一个数组或对象,而剩余参数用于“收集”多个参数到一个数组中。

本文来自投稿,不代表本站立场,如若转载,请注明出处:
-- 展开阅读全文 --
原型和原型链
« 上一篇 09-20
JavaScript中addEventListener和直接on事件的区别
下一篇 » 09-26

发表评论

发表评论