Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

ArrayBuffer.prototype.resize()

Baseline 2024
Neu verfügbar

Seit July 2024 funktioniert diese Funktion auf aktuellen Geräten und in aktuellen Browserversionen. Auf älteren Geräten oder in älteren Browsern funktioniert sie möglicherweise nicht.

Die resize()-Methode von ArrayBuffer-Instanzen ändert die Größe des ArrayBuffer auf die angegebene Größe in Bytes.

Probieren Sie es aus

const buffer = new ArrayBuffer(8, { maxByteLength: 16 });

console.log(buffer.byteLength);
// Expected output: 8

buffer.resize(12);

console.log(buffer.byteLength);
// Expected output: 12

Syntax

js
resize(newLength)

Parameter

newLength

Die neue Länge in Bytes, auf die der ArrayBuffer geändert werden soll.

Rückgabewert

Keiner (undefined).

Ausnahmen

TypeError

Wird ausgelöst, wenn der ArrayBuffer getrennt ist oder nicht veränderbar ist.

RangeError

Wird ausgelöst, wenn newLength größer ist als die maxByteLength des ArrayBuffer.

Beschreibung

Die resize()-Methode ändert die Größe eines ArrayBuffer auf die durch den Parameter newLength angegebene Größe, vorausgesetzt, der ArrayBuffer ist veränderbar und die neue Größe ist kleiner oder gleich der maxByteLength des ArrayBuffer. Neue Bytes werden auf 0 initialisiert.

Beachten Sie, dass Sie resize() verwenden können, um einen ArrayBuffer sowohl zu verkleinern als auch zu vergrößern – es ist zulässig, dass newLength kleiner als die aktuelle byteLength des ArrayBuffer ist.

Beispiele

Verwenden von resize()

In diesem Beispiel erstellen wir einen 8-Byte-Puffer, der auf eine maximale Länge von 16 Bytes veränderbar ist. Dann prüfen wir seine resizable-Eigenschaft und ändern die Größe, wenn resizable true zurückgibt:

js
const buffer = new ArrayBuffer(8, { maxByteLength: 16 });

if (buffer.resizable) {
  console.log("Buffer is resizable!");
  buffer.resize(12);
}

Spezifikationen

Spezifikation
ECMAScript® 2026 Language Specification
# sec-arraybuffer.prototype.resize

Browser-Kompatibilität

Siehe auch