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 Sicherheitsvoraussetzungen 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. 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 Shared Array Buffer vergrößert werden kann.

Rückgabewert

Ein neues SharedArrayBuffer-Objekt der angegebenen Größe, mit der maxByteLength-Eigenschaft auf den angegebenen maxByteLength gesetzt, falls einer angegeben wurde. Der Inhalt ist auf 0 initialisiert.

Beispiele

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

Grundlegende Nutzung

Erstellen Sie einen Buffer, 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. 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);

Wachstum eines vergrößerbaren SharedArrayBuffer

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

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

buffer.grow(12);

Hinweis: Es wird empfohlen, maxByteLength so klein wie möglich für Ihren Anwendungsfall zu setzen. Es sollte niemals 1073741824 (1GB) überschreiten, um das Risiko von Speicherfehlern zu reduzieren.

Spezifikationen

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

Browser-Kompatibilität

Siehe auch