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
new SharedArrayBuffer(length)
new SharedArrayBuffer(length, options)
Parameter
length-
Die Größe, in Bytes, des zu erstellenden Array-Buffers.
optionsOptional-
Ein Objekt, das die folgenden Eigenschaften enthalten kann:
maxByteLengthOptional-
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.
// 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.
const sab = SharedArrayBuffer(1024);
// TypeError: calling a builtin SharedArrayBuffer constructor
// without new is forbidden
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:
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
AtomicsArrayBuffer- JavaScript typisierte Arrays Leitfaden