Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

SharedArrayBuffer()-Konstruktor

Baseline Weitgehend verfügbar *

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Dezember 2021 browserübergreifend verfügbar.

* Einige Teile dieser Funktion werden möglicherweise unterschiedlich gut unterstützt.

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

Der SharedArrayBuffer()-Konstruktor erstellt SharedArrayBuffer-Objekte.

Syntax

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

Hinweis: SharedArrayBuffer() kann nur mit new konstruiert werden. Ein Versuch, ihn ohne new aufzurufen, löst einen TypeError aus.

Parameter

length

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

options Optional

Ein Objekt, das die folgenden Eigenschaften enthalten kann:

maxByteLength Optional

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

Rückgabewert

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

Beispiele

Beachten Sie, dass diese Beispiele nicht direkt über die Konsole oder auf einer beliebigen Webseite ausgeführt werden können, da SharedArrayBuffer nicht definiert ist, es sei denn, seine Sicherheitsanforderungen sind erfüllt.

Grundlegende Nutzung

Erstellen Sie einen Puffer, indem Sie seine Größe in Bytes angeben.

js
// Create a SharedArrayBuffer with a size in bytes
const buffer = new SharedArrayBuffer(8);

console.log(buffer.byteLength); // 8

Verwenden Sie immer den new-Operator, um einen SharedArrayBuffer zu erstellen

SharedArrayBuffer-Konstruktoren müssen mit einem new-Operator konstruiert werden. Wenn ein SharedArrayBuffer-Konstruktor als Funktion ohne new aufgerufen wird, wird ein TypeError geworfen.

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-Puffer, der auf eine maximale Länge von 16 Bytes vergrößert werden kann, und vergrößern() ihn auf 12 Bytes:

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

buffer.grow(12);

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

Spezifikationen

Spezifikation
ECMAScript® 2027 Language Specification
# sec-sharedarraybuffer-constructor

Browser-Kompatibilität

Siehe auch