Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit September 2016 browserübergreifend verfügbar.
Die Rest-Parameter-Syntax ermöglicht es einer Funktion, eine unbestimmte Anzahl an Argumenten als Array zu akzeptieren und bietet damit eine Möglichkeit, variadische Funktionen in JavaScript darzustellen.
Es gibt einige zusätzliche Syntaxbeschränkungen:
Der letzte Parameter einer Funktionsdefinition kann mit ... (drei U+002E FULL STOP Zeichen) vorangestellt werden, wodurch alle verbleibenden (vom Benutzer angegebenen) Parameter innerhalb eines Array-Objekts platziert werden.
Der Rest-Parameter kann destrukturiert werden, was es Ihnen ermöglicht, bestimmte Parameterpositionen zu ignorieren.
Allerdings sind die folgenden alle Syntaxfehler:
Der Rest-Parameter wird nicht zur length-Eigenschaft der Funktion gezählt.
Es gibt vier Hauptunterschiede zwischen Rest-Parametern und dem arguments Objekt:
In diesem Beispiel wird das erste Argument a zugeordnet und das zweite b, sodass diese benannten Argumente normal verwendet werden.
Das dritte Argument, manyMoreArgs, wird jedoch ein Array sein, das das dritte, vierte, fünfte, sechste, …, n-te — so viele Argumente, wie der Benutzer angibt — enthält.
Unten, auch wenn es nur einen Wert gibt, wird das letzte Argument immer noch in ein Array gesetzt.
Unten wird das dritte Argument nicht bereitgestellt, aber manyMoreArgs ist dennoch ein Array (wenn auch ein leeres).
Unten wird nur ein Argument bereitgestellt, sodass b den Standardwert undefined erhält, aber manyMoreArgs ist dennoch ein leeres Array.
Da theArgs ein Array ist, wird die Anzahl seiner Elemente durch die length-Eigenschaft angegeben. Wenn der einzige Parameter der Funktion ein Rest-Parameter ist, wird restParams.length gleich arguments.length sein.
Im nächsten Beispiel wird ein Rest-Parameter verwendet, um alle Parameter nach dem ersten Parameter in ein Array zu sammeln. Jeder der in das Array gesammelten Parameterwerte wird dann mit dem ersten Parameter multipliziert und das Array wird zurückgegeben:
Array-Methoden können bei Rest-Parametern verwendet werden, nicht jedoch beim arguments-Objekt:
Rest-Parameter wurden eingeführt, um den Boilerplate-Code zu reduzieren, der häufig zum Umwandeln einer Menge von Argumenten in ein Array verwendet wurde.
Vor den Rest-Parametern mussten arguments in ein normales Array umgewandelt werden, bevor Array-Methoden darauf aufgerufen wurden:
Jetzt können Sie leicht Zugriff auf ein normales Array mit einem Rest-Parameter erhalten:
| ECMAScript® 2027 Language Specification # sec-function-definitions |
JavaScript aktivieren, um diese Browser-Kompatibilitätstabelle anzuzeigen.
Der Bauplan für ein besseres Internet.
Besuche die gemeinnützige Muttergesellschaft der Mozilla Corporation, die Mozilla Foundation.
Teile dieses Inhalts sind ©1998–2026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfügbar unter einer Creative-Commons-Lizenz.