ES6 中函数的 Rest 参数详解

阅读时长 4 分钟读完

在 ES6 中,函数参数中增加了 Rest 参数,可以更方便地处理函数传入的多个参数。本文将介绍 Rest 参数的使用方法,包括定义、传递与应用等。

什么是 Rest 参数

Rest 参数即以 ... 形式定义的函数参数,用于接收函数传入的多个参数并将它们转换为数组形式。例如:

在函数 sum 的参数列表中,使用 ...args 定义了 Rest 参数。当函数 sum 被调用时,传入的参数会被自动转换为一个数组,并赋值给 args 变量。

需要注意的是,Rest 参数必须放在函数参数的最后一个位置:

Rest 参数的应用

  1. 不定参数的函数传递

Rest 参数可用于函数传递时,传递不定数量的参数。例如:

-- -------------------- ---- -------
-------- ------------ -
  ------ --------------- -- -- - - ---
-

-------- ----------------- -
  ------ --------------- -- -- - - ---
-

-------- -------- -------- -
  ------ ------------
-

--------------------- -- -- ----      -- -
-------------------------- -- -- ---- -- -

在函数 calc 中,通过 Rest 参数 ...args 实现了不定数量参数的传递,方便了函数计算的复用和扩展。

  1. 转换对象为数组

在一些场合下,将对象转换为数组可以方便数组的操作。Rest 参数可以用于将具有迭代器接口(即带有 Symbol.iterator 属性)的对象转换为数组。例如:

-- -------------------- ---- -------
--- ----------- - -
  -- ----
  -- ----
  -- ----
  ------- --
  ------------------ ---------------------------------
--

-------- ---------------- -
  ------ -----
-

-------------------------------------  -- ----- ---- ----

在函数 toArray 中,使用 Rest 参数 ...args 将具有迭代器接口的 iterableObj 转换为数组。

  1. 函数参数默认值

在函数参数中,Rest 参数可以与默认值(Default Parameters)结合使用。例如:

在函数 join 中,使用了默认值 separator = ',' 和 Rest 参数 ...args。当没有传入 separator 参数时,默认为逗号,而 args 参数则可以接收任意数量的参数。

总结

本文详细介绍了 ES6 中函数的 Rest 参数的定义、传递与应用等方面,包括不定参数的函数传递、对象转换为数组以及函数参数默认值等。在实际开发中,合理使用 Rest 参数可以提高代码的可读性和可维护性,也可以让函数更灵活、易用。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/648e6d2548841e9894cc8941

纠错
反馈