ArrayBuffer
Das ArrayBuffer
Objekt repräsentiert einen generischen Buffer mit fester Länge. Der Inhalt eines ArrayBuffer
s kann nicht direkt bearbeitet werden; stattdessen wird eines der typisierten Array-Objekte (en-US) oder ein DataView
Objekt verwendet, welches den Buffer in einem bestimmten Format repräsentiert und von welchem aus sein Inhalt bearbeitet werden kann.
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
Syntax
new ArrayBuffer(length)
Parameter
- length
- Die Größe, in Bytes, des zu erstellenden
ArrayBuffer
.
Rückgabewert
Ein neues ArrayBuffer
Objekt der angegebenen Länge. Der Inhalt wird auf 0 initialisiert.
Ausnahmen
Ein RangeError
wird erhoben wenn die Länge größer als Number.MAX_SAFE_INTEGER
(>= 2 ** 53) oder negativ ist.
Beschreibung
Der ArrayBuffer
Konstruktor erstellt einen neuen ArrayBuffer
der angegebenen Länge in Bytes.
Einen ArrayBuffer von existierenden Daten erstellen
Eigenschaften
ArrayBuffer.length
- Der Wert des
ArrayBuffer
Konstruktors für die Länge. get ArrayBuffer[@@species]
- Die Konstruktor-Funktion um abgeleitete Objekte zu erstellen.
ArrayBuffer.prototype
- Erlaubt das Hinzufügen von Eigenschaften zu allen
ArrayBuffer
Objekten.
Methoden
ArrayBuffer.isView(arg)
- Gibt
true
zurück wennarg
eines der Views desArrayBuffers
ist, wie zum Beispiel die typisierten Array-Objekt (en-US)e oder einDataView
. Ansonsten wirdfalse
zurückgegeben. ArrayBuffer.transfer(oldBuffer [, newByteLength])
-
Gibt einen neuen
ArrayBuffer
zurück, dessen Inhalt von den Daten desoldBuffer
s genommen wird und dann entweder abgeschnitten oder mit Null aufnewByteLength
erweitert wird.
Instanzen
Alle ArrayBuffer
Instanzen erben von ArrayBuffer.prototype
.
Eigenschaften
- ArrayBuffer.prototype.constructor
- Spezifiziert die Funktion, die das Prototypeobjekt erstellt. Der Initialwert ist der eingebaute Standard-
ArrayBuffer
-Konstruktor. ArrayBuffer.prototype.byteLength
Schreibgeschützt- Die größe, in Bytes, des Arrays. Dieser wird bei der Erstellung des Arrays ermittelt und kan nicht geändert werden.
Methoden
ArrayBuffer.prototype.slice()
- Gibt einen neuen
ArrayBuffer
zurück, welcher eine Kopie der Bytes des eigentlichenArrayBuffer
einthält. Die Kopie geht vonbegin
(inklusiv) bisend
(exclusiv). Wenn einer der Werte negativ ist, referenziert er auf den Index vom Ende des Arrays an und nicht vom Beginn des Arrays.
ArrayBuffer.slice()
- Hat die selbe Funktion wie
ArrayBuffer.prototype.slice()
.
Beispiel
In diesem Beispiel erstellen wir einen 8-byte Puffer mit einem Int32Array
View, um auf den Puffer zu verweisen:
var buffer = new ArrayBuffer(8);
var view = new Int32Array(buffer);
Spezifikationen
Spezifikation | Status | Kommentar |
---|---|---|
Typed Array Specification | Veraltet | Ersetzt durch ECMAScript 6. |
ECMAScript 2015 (6th Edition, ECMA-262) Die Definition von 'ArrayBuffer' in dieser Spezifikation. |
Standard | Initiale Definition im ECMA Standard. Spezifiziert, dass new benötigt wird. |
ECMAScript (ECMA-262) Die Definition von 'ArrayBuffer' in dieser Spezifikation. |
Lebender Standard |
Browserkompatibilität
BCD tables only load in the browser
Kompatibilitätshinweis
Seit ECMAScript 2015 müssen ArrayBuffer
Konstruktor mit einem new
Operator konstruiert werden. Einen ArrayBuffer
Konstruktor als Funktion aufzurufen ohne new
ab sofort einen TypeError
erheben.
var dv = ArrayBuffer(10);
// TypeError: Einen eingebauten ArrayBuffer-Konstruktor
// ohne new aufzurufen ist nicht erlaubt.
var dv = new ArrayBuffer(10);