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 Methode resize() von ArrayBuffer-Instanzen ändert die Größe des ArrayBuffer auf die angegebene Größe in Byte.

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 Byte, auf die der ArrayBuffer geändert werden soll.

Rückgabewert

Keiner (undefined).

Ausnahmen

TypeError

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

RangeError

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

Beschreibung

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

Beachten Sie, dass Sie resize() sowohl verwenden können, um einen ArrayBuffer 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 Byte erweiterbar ist. Anschließend überprüfen wir seine resizable-Eigenschaft und ändern die Größe, falls resizable den Wert 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

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
resize

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support

Siehe auch