SharedArrayBuffer()-Konstruktor

Baseline Widely available

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

Hinweis: Der SharedArrayBuffer-Konstruktor ist möglicherweise nicht immer global verfügbar, es sei denn, bestimmte Sicherheitsanforderungen werden erfüllt.

Der SharedArrayBuffer()-Konstruktor erstellt SharedArrayBuffer-Objekte.

Probieren Sie es aus

Syntax

js
new SharedArrayBuffer(length)
new SharedArrayBuffer(length, options)

Hinweis: SharedArrayBuffer() kann nur mit new konstruiert werden. Wird versucht, ihn ohne new aufzurufen, wird ein TypeError ausgelöst.

Parameter

length

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

options Optional

Ein Objekt, das die folgenden Eigenschaften enthalten kann:

maxByteLength Optional

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

Rückgabewert

Ein neues SharedArrayBuffer-Objekt der angegebenen Größe, dessen maxByteLength-Eigenschaft auf das angegebene maxByteLength gesetzt ist, falls eines angegeben wurde. Sein Inhalt wird auf 0 initialisiert.

Beispiele

Immer den new-Operator verwenden, um einen SharedArrayBuffer zu erstellen

SharedArrayBuffer-Konstruktoren müssen mit einem new-Operator konstruiert werden. Das Aufrufen eines SharedArrayBuffer-Konstruktors als Funktion ohne new führt zu einem TypeError.

js
const sab = SharedArrayBuffer(1024);
// TypeError: calling a builtin SharedArrayBuffer constructor
// without new is forbidden
js
const sab = new SharedArrayBuffer(1024);

Wachsen eines vergrößerbaren SharedArrayBuffer

In diesem Beispiel erstellen wir einen 8-Byte-Buffer, der auf eine maximale Länge von 16 Bytes vergrößerbar ist, und vergrößern ihn dann mit grow() auf 12 Bytes:

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

buffer.grow(12);

Hinweis: Es wird empfohlen, maxByteLength auf den kleinstmöglichen Wert für Ihren Anwendungsfall zu setzen. Es sollte niemals 1073741824 (1GB) überschreiten, um das Risiko von "Out of Memory"-Fehlern zu verringern.

Spezifikationen

Specification
ECMAScript Language Specification
# sec-sharedarraybuffer-constructor

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch