TypedArray.prototype[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 September 2016.
Die [Symbol.iterator]() Methode von TypedArray Instanzen implementiert das iterable Protokoll und ermöglicht es, dass typisierte Arrays von den meisten Syntaxen genutzt werden können, die Iterables erwarten, wie beispielsweise der Spread-Syntax und for...of Schleifen. Sie gibt ein Array-Iterator-Objekt zurück, das den Wert jedes Indexes im typisierten Array liefert.
Der Anfangswert dieser Eigenschaft ist dasselbe Funktionsobjekt wie der Anfangswert der Eigenschaft TypedArray.prototype.values.
Probieren Sie es aus
const uint8 = new Uint8Array([10, 20, 30]);
const iterator = uint8[Symbol.iterator]();
for (const value of iterator) {
console.log(value);
}
// Expected output: 10
// Expected output: 20
// Expected output: 30
Syntax
typedArray[Symbol.iterator]()
Parameter
Keine.
Rückgabewert
Der gleiche Rückgabewert wie TypedArray.prototype.values(): ein neues iterierbares Iterator-Objekt, das den Wert jedes Indexes im typisierten Array liefert.
Beispiele
>Iteration unter Verwendung der for...of Schleife
Beachten Sie, dass es selten erforderlich ist, diese Methode direkt aufzurufen. Die Existenz der [Symbol.iterator]() Methode macht typisierte Arrays iterierbar, und Iterationen wie die for...of Schleife rufen diese Methode automatisch auf, um den Iterator für die Schleife zu erhalten.
const arr = new Uint8Array([10, 20, 30, 40, 50]);
for (const n of arr) {
console.log(n);
}
Manuelles Iterieren
Sie können dennoch die next() Methode des zurückgegebenen Iterator-Objekts manuell aufrufen, um maximale Kontrolle über den Iterationsprozess zu erhalten.
const arr = new Uint8Array([10, 20, 30, 40, 50]);
const arrIter = arr[Symbol.iterator]();
console.log(arrIter.next().value); // 10
console.log(arrIter.next().value); // 20
console.log(arrIter.next().value); // 30
console.log(arrIter.next().value); // 40
console.log(arrIter.next().value); // 50
Spezifikationen
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-%typedarray%.prototype-%symbol.iterator%> |
Browser-Kompatibilität
Loading…