arguments[Symbol.iterator]()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2016.

Die [Symbol.iterator]() Methode von arguments Objekten implementiert das iterable Protokoll und ermöglicht es arguments Objekten, durch die meisten Syntaxen, die Iterables erwarten, konsumiert zu werden, wie z.B. der Spread-Syntax und for...of Schleifen. Sie gibt ein Array-Iterator-Objekt zurück, das den Wert jedes Indexes im arguments Objekt liefert.

Der anfängliche Wert dieser Eigenschaft ist dasselbe Funktionsobjekt wie der anfängliche Wert der Array.prototype.values Eigenschaft (und auch dasselbe wie Array.prototype[Symbol.iterator]()).

Syntax

js
arguments[Symbol.iterator]()

Parameter

Keine.

Rückgabewert

Der gleiche Rückgabewert wie Array.prototype.values(): ein neues iterierbares Iterator-Objekt, das den Wert jedes Indexes im arguments Objekt liefert.

Beispiele

Iteration mit der for...of Schleife

Beachten Sie, dass Sie diese Methode selten direkt aufrufen müssen. Das Vorhandensein der [Symbol.iterator]() Methode macht arguments Objekte iterierbar, und Iterations-Syntaxen wie die for...of Schleife rufen diese Methode automatisch auf, um den Iterator zu erhalten, über den iteriert werden soll.

js
function f() {
  for (const letter of arguments) {
    console.log(letter);
  }
}
f("w", "y", "k", "o", "p");

Manuelles Erstellen des Iterators

Sie können dennoch die next() Methode des zurückgegebenen Iterator-Objekts manuell aufrufen, um maximale Kontrolle über den Iterationsprozess zu erhalten.

js
function f() {
  const argsIter = arguments[Symbol.iterator]();
  console.log(argsIter.next().value); // w
  console.log(argsIter.next().value); // y
  console.log(argsIter.next().value); // k
  console.log(argsIter.next().value); // o
  console.log(argsIter.next().value); // p
}
f("w", "y", "k", "o", "p");

Spezifikationen

Specification
ECMAScript® 2026 Language Specification
# sec-createunmappedargumentsobject
ECMAScript® 2026 Language Specification
# sec-createmappedargumentsobject

Browser-Kompatibilität

Siehe auch