ArrayBuffer
Das ArrayBuffer Objekt repräsentiert einen generischen Buffer mit fester Länge. Der Inhalt eines ArrayBuffers 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.
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
ArrayBufferKonstruktors 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
ArrayBufferObjekten.
Methoden
ArrayBuffer.isView(arg)- Gibt
truezurück wennargeines der Views desArrayBuffersist, wie zum Beispiel die typisierten Array-Objekt (en-US)e oder einDataView. Ansonsten wirdfalsezurückgegeben. ArrayBuffer.transfer(oldBuffer [, newByteLength])-
Gibt einen neuen
ArrayBufferzurück, dessen Inhalt von den Daten desoldBuffers genommen wird und dann entweder abgeschnitten oder mit Null aufnewByteLengtherweitert 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.byteLengthSchreibgeschü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
ArrayBufferzurück, welcher eine Kopie der Bytes des eigentlichenArrayBuffereinthä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);