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

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid WebviewChrome für AndroidEdge MobileFirefox für AndroidOpera für AndroidiOS SafariSamsung InternetNode.js
Grundlegende UnterstützungChrome Vollständige Unterstützung 7Edge Vollständige Unterstützung JaFirefox Vollständige Unterstützung 4IE Vollständige Unterstützung 10Opera Vollständige Unterstützung 11.6Safari Vollständige Unterstützung 5.1WebView Android Vollständige Unterstützung 4Chrome Android Vollständige Unterstützung JaEdge Mobile Vollständige Unterstützung JaFirefox Android Vollständige Unterstützung 4Opera Android Vollständige Unterstützung 11.6Safari iOS Vollständige Unterstützung 4.2Samsung Internet Android Vollständige Unterstützung Janodejs Vollständige Unterstützung Ja
ArrayBuffer() without new throwsChrome Vollständige Unterstützung JaEdge Vollständige Unterstützung JaFirefox Vollständige Unterstützung 44IE Keine Unterstützung NeinOpera Vollständige Unterstützung JaSafari ? WebView Android ? Chrome Android ? Edge Mobile ? Firefox Android Vollständige Unterstützung 44Opera Android ? Safari iOS ? Samsung Internet Android ? nodejs Vollständige Unterstützung 0.12
byteLengthChrome Vollständige Unterstützung 7Edge Vollständige Unterstützung JaFirefox Vollständige Unterstützung 4IE Vollständige Unterstützung 10Opera Vollständige Unterstützung 11.6Safari Vollständige Unterstützung 5.1WebView Android Vollständige Unterstützung 4Chrome Android Vollständige Unterstützung JaEdge Mobile Vollständige Unterstützung JaFirefox Android Vollständige Unterstützung 4Opera Android Vollständige Unterstützung 11.6Safari iOS Vollständige Unterstützung 4.2Samsung Internet Android Vollständige Unterstützung Janodejs Vollständige Unterstützung Ja
isViewChrome Vollständige Unterstützung JaEdge Vollständige Unterstützung JaFirefox Vollständige Unterstützung 29IE Vollständige Unterstützung 11Opera Vollständige Unterstützung JaSafari Vollständige Unterstützung JaWebView Android Vollständige Unterstützung JaChrome Android Vollständige Unterstützung JaEdge Mobile Vollständige Unterstützung JaFirefox Android Vollständige Unterstützung 29Opera Android Vollständige Unterstützung JaSafari iOS Vollständige Unterstützung JaSamsung Internet Android Vollständige Unterstützung Janodejs Vollständige Unterstützung Ja
prototypeChrome Vollständige Unterstützung 7Edge Vollständige Unterstützung JaFirefox Vollständige Unterstützung 4IE Vollständige Unterstützung 10Opera Vollständige Unterstützung 11.6Safari Vollständige Unterstützung 5.1WebView Android Vollständige Unterstützung 4Chrome Android Vollständige Unterstützung JaEdge Mobile Vollständige Unterstützung JaFirefox Android Vollständige Unterstützung 4Opera Android Vollständige Unterstützung 11.6Safari iOS Vollständige Unterstützung 4.2Samsung Internet Android Vollständige Unterstützung Janodejs Vollständige Unterstützung Ja
sliceChrome Vollständige Unterstützung JaEdge Vollständige Unterstützung JaFirefox Vollständige Unterstützung 12
Hinweise
Vollständige Unterstützung 12
Hinweise
Hinweise The non-standard ArrayBuffer.slice() method has been removed in Firefox 53 (but the standardized version ArrayBuffer.prototype.slice() is kept.
IE Vollständige Unterstützung 11Opera Vollständige Unterstützung JaSafari Vollständige Unterstützung 6WebView Android Vollständige Unterstützung JaChrome Android Vollständige Unterstützung JaEdge Mobile Vollständige Unterstützung JaFirefox Android Vollständige Unterstützung 14
Hinweise
Vollständige Unterstützung 14
Hinweise
Hinweise The non-standard ArrayBuffer.slice() method has been removed in Firefox 53 (but the standardized version ArrayBuffer.prototype.slice() is kept.
Opera Android Vollständige Unterstützung JaSafari iOS Vollständige Unterstützung 6Samsung Internet Android Vollständige Unterstützung Janodejs Vollständige Unterstützung Ja
transfer
ExperimentellNicht standardisiert
Chrome Keine Unterstützung NeinEdge Keine Unterstützung NeinFirefox Keine Unterstützung NeinIE Keine Unterstützung NeinOpera Keine Unterstützung NeinSafari Keine Unterstützung NeinWebView Android Keine Unterstützung NeinChrome Android Keine Unterstützung NeinEdge Mobile Keine Unterstützung NeinFirefox Android Keine Unterstützung NeinOpera Android Keine Unterstützung NeinSafari iOS Keine Unterstützung NeinSamsung Internet Android Keine Unterstützung Neinnodejs Keine Unterstützung Nein
@@speciesChrome ? Edge ? Firefox Vollständige Unterstützung 48IE ? Opera ? Safari ? WebView Android ? Chrome Android ? Edge Mobile ? Firefox Android Vollständige Unterstützung 48Opera Android ? Safari iOS ? Samsung Internet Android ? nodejs Vollständige Unterstützung 6.5.0
Vollständige Unterstützung 6.5.0
Vollständige Unterstützung 6.0.0
Deaktiviert
Deaktiviert From version 6.0.0: this feature is behind the --harmony runtime flag.

Legende

Vollständige Unterstützung  
Vollständige Unterstützung
Keine Unterstützung  
Keine Unterstützung
Kompatibilität unbekannt  
Kompatibilität unbekannt
Experimentell. Das Verhalten kann sich zukünftig ändern.
Experimentell. Das Verhalten kann sich zukünftig ändern.
Nicht standardisiert. Erwarte schlechte browserübergreifende Unterstützung.
Nicht standardisiert. Erwarte schlechte browserübergreifende Unterstützung.
Siehe Implementierungshinweise.
Siehe Implementierungshinweise.
Benutzer muss dieses Feature explizit aktivieren.
Benutzer muss dieses Feature explizit aktivieren.

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,