ArrayBuffer()-Konstruktor
Baseline
Weitgehend verfügbar
*
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.
* Einige Teile dieser Funktion werden möglicherweise unterschiedlich gut unterstützt.
Der ArrayBuffer()-Konstruktor erstellt ArrayBuffer-Objekte.
Probieren Sie es aus
// Create an ArrayBuffer with a size in bytes
const buffer = new ArrayBuffer(8);
console.log(buffer.byteLength);
// Expected output: 8
Syntax
new ArrayBuffer(length)
new ArrayBuffer(length, options)
Parameter
length-
Die Größe in Bytes des zu erstellenden ArrayBuffers.
optionsOptional-
Ein Objekt, das die folgenden Eigenschaften enthalten kann:
maxByteLengthOptional-
Die maximale Größe in Bytes, auf die der ArrayBuffer vergrößert werden kann.
Rückgabewert
Ein neues ArrayBuffer-Objekt der angegebenen Größe, dessen maxByteLength-Eigenschaft, falls angegeben, auf den angegebenen maxByteLength gesetzt ist. Sein Inhalt wird auf 0 initialisiert.
Ausnahmen
RangeError-
Wird in einem der folgenden Fälle ausgelöst:
lengthodermaxByteLengthist größer alsNumber.MAX_SAFE_INTEGER(≥ 253) oder negativ.lengthist größer alsmaxByteLength.
Beispiele
>Erstellen eines ArrayBuffers
In diesem Beispiel erstellen wir einen 8-Byte-Pufferspeicher mit einer Int32Array-Sicht, die sich auf den Puffer bezieht:
const buffer = new ArrayBuffer(8);
const view = new Int32Array(buffer);
Erstellen eines vergrößerbaren ArrayBuffers
In diesem Beispiel erstellen wir einen 8-Byte-Pufferspeicher, der auf eine maximale Länge von 16 Bytes vergrößert werden kann, und ändern dann seine Größe auf 12 Bytes mit resize():
const buffer = new ArrayBuffer(8, { maxByteLength: 16 });
buffer.resize(12);
Hinweis:
Es wird empfohlen, maxByteLength auf den kleinstmöglichen Wert für Ihren Anwendungsfall festzulegen. Es sollte niemals 1073741824 (1GB) überschreiten, um das Risiko von Speicherausfällen zu verringern.
Spezifikationen
| Spezifikation |
|---|
| ECMAScript® 2027 Language Specification> # sec-arraybuffer-constructor> |