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 statische Dateneigenschaft Symbol.iterator repräsentiert das wohlbekannte Symbol Symbol.iterator. Das iterierbare Protokoll sucht mit diesem Symbol nach der Methode, die den Iterator für ein Objekt zurückgibt. Damit ein Objekt iterierbar ist, muss es einen [Symbol.iterator]-Schlüssel haben.
Das wohlbekannte Symbol Symbol.iterator.
| Schreibbar | nein |
| Aufzählbar | nein |
| Konfigurierbar | nein |
Immer wenn ein Objekt iteriert werden muss (wie zu Beginn einer for...of Schleife), wird seine Methode [Symbol.iterator]() ohne Argumente aufgerufen, und der zurückgegebene Iterator wird verwendet, um die zu iterierenden Werte zu erhalten.
Einige eingebaute Typen haben ein Standardverhalten für die Iteration, während andere Typen (wie Object) dies nicht haben. Einige eingebaute Typen mit einer [Symbol.iterator]()-Methode sind:
Siehe auch Iterationsprotokolle für weitere Informationen.
Wir können unsere eigenen Iterables wie folgt erstellen:
Oder Iterables können direkt innerhalb einer Klasse oder eines Objekts unter Verwendung einer berechneten Eigenschaft definiert werden:
Wenn die [Symbol.iterator]()-Methode eines Iterables kein Iterator-Objekt zurückgibt, ist es ein nicht wohlgeformtes Iterable. Die Verwendung dessen wird wahrscheinlich zu Laufzeitausnahmen oder fehlerhaftem Verhalten führen:
| ECMAScript® 2027 Language Specification # sec-symbol.iterator |
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.