ArrayBuffer.prototype.resize()

Baseline 2024
Newly available

Since July 2024, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

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 vergrößerbar 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 im Parameter newLength angegebene Größe, vorausgesetzt, dass der ArrayBuffer vergrößerbar ist und die neue Größe kleiner oder gleich der maxByteLength des ArrayBuffer ist. 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 ist als die aktuelle byteLength des ArrayBuffer.

Beispiele

Verwendung von resize()

In diesem Beispiel erstellen wir einen 8-Byte-Puffer, der auf eine maximale Länge von 16 Bytes vergrößert werden kann. Dann überprüfen wir seine resizable-Eigenschaft und ändern ihn, falls resizable true zurückgibt:

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

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

Spezifikationen

Specification
ECMAScript® 2025 Language Specification
# sec-arraybuffer.prototype.resize

Browser-Kompatibilität

Siehe auch