”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 扩展语法与其余参数:有什么区别?

扩展语法与其余参数:有什么区别?

发布于2024-11-07
浏览:700

Spread Syntax vs. Rest Parameter: What\'s the Difference?

扩展语法与剩余参数:了解差异

在 ES2015 中,扩展语法和剩余参数这两个新功能提供了强大的方法操作数组和对象。虽然两者看起来相似,但它们具有不同的用途,并且各自具有自己独特的功能。

扩展语法

扩展语法(由三个点“...”表示) ) 允许您将一个可迭代对象(例如数组或对象)展开或扩展为另一个可迭代对象中的各个元素。此功能使您能够方便地将多个数组或对象合并或组合成一个新的数组或对象。

例如,让我们考虑以下代码:

var abc = ['a', 'b', 'c'];
var def = ['d', 'e', 'f'];
var alpha = [ ...abc, ...def ];
console.log(alpha); // alpha == ['a', 'b', 'c', 'd', 'e', 'f'];

在此片段中,...abc 和 ... def spread 语法将 abc 和 def 数组扩展为单独的元素,创建一个包含两个数组中所有元素的新 alpha 数组。

Rest Parameter

另一方面,剩余参数(由三个点“...”表示,前面带有标识符)将传递给函数的任何剩余参数收集到单个数组中。剩余参数必须是函数参数列表中的最后一个参数。

剩余参数的实际操作示例如下:

function sumAll(...numbers) {
  let total = 0;
  for (let num of numbers) {
    total  = num;
  }
  return total;
}

let result = sumAll(1, 2, 3, 4, 5);
console.log(result); // result == 15

在此代码中,...numbers rest 参数收集传递给 sumAll 函数的剩余参数(在本例中为 1、2、3、4 和 5)并创建单个数字数组。

最新教程 更多>

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3