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

Syntax

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

Note: ArrayBuffer() kann nur mit new konstruiert werden. Ein Versuch, ihn ohne new aufzurufen, führt zu einem TypeError.

Parameter

length

Die Größe, in Bytes, des zu erstellenden ArrayBuffers.

options Optional

Ein Objekt, das die folgenden Eigenschaften enthalten kann:

maxByteLength Optional

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

Rückgabewert

Ein neues ArrayBuffer Objekt der angegebenen Größe, dessen maxByteLength Eigenschaft auf das angegebene 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 einem Int32Array-View, der auf den Puffer verweist:

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 dann wird er mit resize() auf 12 Bytes vergrößert:

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

buffer.resize(12);

Hinweis: Es wird empfohlen, dass maxByteLength auf den kleinstmöglichen Wert für Ihren Anwendungsfall gesetzt wird. Es sollte niemals 1073741824 (1GB) überschreiten, um das Risiko von Speichermangel-Fehlern zu reduzieren.

Spezifikationen

Specification
ECMAScript Language Specification
# sec-arraybuffer-constructor

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch