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 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 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 wenn arg eines der Views des ArrayBuffers ist, wie zum Beispiel die typisierten Array-Objekte oder ein DataView. Ansonsten wird false zurückgegeben.
ArrayBuffer.transfer(oldBuffer [, newByteLength])
Gibt einen neuen ArrayBuffer zurück, dessen Inhalt von den Daten des oldBuffers genommen wird und dann entweder abgeschnitten oder mit Null auf newByteLength 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 Read only
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 eigentlichen ArrayBuffer einthält. Die Kopie geht von begin (inklusiv) bis end (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 Latest Draft (ECMA-262)
Die Definition von 'ArrayBuffer' in dieser Spezifikation.
Entwurf  

Browserkompatibilität

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Grundlegende Unterstützung7 Ja41011.65.1
ArrayBuffer() without new throws Ja Ja44 Nein Ja ?
byteLength7 Ja41011.65.1
isView Ja Ja2911 Ja Ja
prototype7 Ja41011.65.1
slice Ja Ja12111 Ja6
transfer Nein Nein Nein Nein Nein Nein
@@species ? ?48 ? ? ?
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Grundlegende Unterstützung4 Ja Ja411.64.2 Ja
ArrayBuffer() without new throws ? ? ?44 ? ? ?
byteLength4 Ja Ja411.64.2 Ja
isView Ja Ja Ja29 Ja Ja Ja
prototype4 Ja Ja411.64.2 Ja
slice Ja Ja Ja141 Ja6 Ja
transfer Nein Nein Nein Nein Nein Nein Nein
@@species ? ? ?48 ? ? ?

1. The non-standard ArrayBuffer.slice() method has been removed in Firefox 53 (but the standardized version ArrayBuffer.prototype.slice() is kept.

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);

Siehe auch

Schlagwörter des Dokuments und Mitwirkende

Mitwirkende an dieser Seite: schlagi123, bpaetzold, Steinweber, ionree
Zuletzt aktualisiert von: schlagi123,