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, ihn ohne new aufzurufen, führt zu einem TypeError.

Parameter

length

Die Größe in Bytes des zu erstellenden Array-Buffers.

options Optional

Ein Objekt, das die folgenden Eigenschaften enthalten kann:

maxByteLength Optional

Die maximale Größe in Bytes, auf die der Array-Buffer vergrößert werden kann.

Rückgabewert

Ein neues ArrayBuffer-Objekt der angegebenen Größe, wobei seine maxByteLength-Eigenschaft auf den angegebenen maxByteLength gesetzt ist, falls einer angegeben wurde. Sein Inhalt wird 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-Sicht, die sich auf den Puffer bezieht:

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

Erstellen eines anpassbaren ArrayBuffers

In diesem Beispiel erstellen wir einen 8-Byte-Puffer, der auf eine maximale Länge von 16 Bytes vergrößert werden kann, und resize() ihn dann auf 12 Bytes:

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

buffer.resize(12);

Hinweis: Es wird empfohlen, dass maxByteLength auf den kleinsten möglichen Wert für Ihren Anwendungsfall festgelegt wird. Es sollte niemals 1073741824 (1GB) überschreiten, um das Risiko von Speicherüberlauffehlern zu verringern.

Spezifikationen

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

Browser-Kompatibilität

Siehe auch