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 Dezember 2021.
* Some parts of this feature may have varying levels of support.
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.
Probieren Sie es aus
// Create a SharedArrayBuffer with a size in bytes
const buffer = new SharedArrayBuffer(8);
console.log(buffer.byteLength);
// Expected output: 8
Syntax
new SharedArrayBuffer(length)
new SharedArrayBuffer(length, options)
Parameter
length-
Die Größe des zu erstellenden Array-Puffers in Byte.
optionsOptional-
Ein Objekt, das die folgenden Eigenschaften enthalten kann:
maxByteLengthOptional-
Die maximale Größe in Byte, 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 wird auf 0 initialisiert.
Beispiele
>Verwenden Sie immer den new-Operator, um einen SharedArrayBuffer zu erstellen
SharedArrayBuffer Konstruktoren müssen mit einem new Operator konstruiert werden. Der Aufruf eines SharedArrayBuffer Konstruktors als Funktion ohne new führt zu einem TypeError.
const sab = SharedArrayBuffer(1024);
// TypeError: calling a builtin SharedArrayBuffer constructor
// without new is forbidden
const sab = new SharedArrayBuffer(1024);
Wachstum eines wachstumsfähigen SharedArrayBuffer
In diesem Beispiel erstellen wir einen 8-Byte-Puffer, der auf eine maximale Länge von 16 Bytes wachsen kann, und vergrößern ihn dann mit grow() auf 12 Bytes:
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 Speicherüberlauf-Fehlern zu reduzieren.
Spezifikationen
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-sharedarraybuffer-constructor> |
Browser-Kompatibilität
Loading…