Get to know MDN better
此頁面由社群從英文翻譯而來。了解更多並加入 MDN Web Docs 社群。
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2016年9月.
其餘參數(rest parameter) 語法可以讓我們表示不確定數量的參數,並將其視為一個陣列。
如果函式的最後一個命名參數以 ... 開頭,它會被視為一個陣列。該陣列的元素會被置於索引從 0(含)到的 theArgs.length(不含)位置,並且被視為一個函式的參數。
在上面的範例中,theArgs 會將函式 f 中第三個(含)以後的參數收集起來。
以下是其餘參數和 arguments 物件三個主要的差異:
其餘參數被介紹作為取代用 arguments 寫的範例程式。
其餘參數可以被解構,換句話說,可以把這個陣列解開,並將各個元素取出成為個別的變數。請參考解構。
因為 theArgs 是一個陣列,所以它會有 length 屬性,作為表示參數數量:
在接下來的範例中,其餘參數被用來收集第一個之後的所有引數並存在陣列中。 在這個陣列裡的每個元素(數字),都會和第一個參數相乘後取代原本的元素,最後再將取代元素後的陣列回傳。
下列範例展示 Array 的方法可以在其餘參數上被使用,但 arguments 則不行。
為了要在 arguments 物件上使用 Array 的方法,可以將它轉換成真的 Array 實體,或者以 apply() 直接調用需要的方法。
| ECMAScript® 2027 Language Specification # sec-function-definitions |
Enable JavaScript to view this browser compatibility table.
This page was last modified on 2025年7月16日 by MDN contributors.
Your blueprint for a better internet.
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license.