ArrayBuffer() Konstruktor

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

* Some parts of this feature may have varying levels of support.

Der ArrayBuffer()-Konstruktor erstellt ArrayBuffer Objekte.

Probieren Sie es aus

// Create an ArrayBuffer with a size in bytes
const buffer = new ArrayBuffer(8);

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

Syntax

js
new ArrayBuffer(length)
new ArrayBuffer(length, options)

Hinweis:>ArrayBuffer() kann nur mit new konstruiert werden. Der Versuch, es ohne new aufzurufen, führt zu einem TypeError.

Parameter

length

Die Größe in Bytes des zu erstellenden Arraypuffers.

options Optional

Ein Objekt, das folgende Eigenschaften enthalten kann:

maxByteLength Optional

Die maximale Größe in Bytes, auf die der Arraypuffer erweitert werden kann.

Rückgabewert

Ein neues ArrayBuffer-Objekt der angegebenen Größe, dessen maxByteLength-Eigenschaft auf den angegebenen maxByteLength gesetzt ist, falls angegeben. Sein Inhalt ist auf 0 initialisiert.

Ausnahmen

RangeError

Wird in einem der folgenden Fälle ausgelöst:

  • length oder maxByteLength ist größer als Number.MAX_SAFE_INTEGER (≥ 253) oder negativ.
  • length ist größer als maxByteLength.

Beispiele

Erstellen eines ArrayBuffers

In diesem Beispiel erstellen wir einen 8-Byte-Puffer mit einer Int32Array-Ansicht, die auf den Puffer verweist:

js
const buffer = new ArrayBuffer(8);
const view = new Int32Array(buffer);

Erstellen eines veränderbaren ArrayBuffers

In diesem Beispiel erstellen wir einen 8-Byte-Puffer, der auf eine maximale Länge von 16 Bytes veränderbar ist, und dann wird er mit resize() auf 12 Bytes geändert:

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

buffer.resize(12);

Hinweis: Es wird empfohlen, maxByteLength auf den kleinstmöglichen Wert für Ihren Anwendungsfall festzulegen. Es sollte niemals 1073741824 (1GB) überschreiten, um das Risiko von Speicherplatzfehlern zu verringern.

Spezifikationen

Specification
ECMAScript® 2026 Language Specification
# sec-arraybuffer-constructor

Browser-Kompatibilität

Siehe auch