--- title: ArrayBuffer slug: Web/JavaScript/Reference/Global_Objects/ArrayBuffer tags: - ArrayBuffer - Constructor - JavaScript - TypedArrays translation_of: Web/JavaScript/Reference/Global_Objects/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 oder ein {{jsxref("DataView")}} Objekt verwendet, welches den Buffer in einem bestimmten Format repräsentiert und von welchem aus sein Inhalt bearbeitet werden kann.
new ArrayBuffer(length)
ArrayBuffer
.Ein neues ArrayBuffer
Objekt der angegebenen Länge. Der Inhalt wird auf 0 initialisiert.
Ein {{jsxref("RangeError")}} wird erhoben wenn die Länge größer als {{jsxref("Number.MAX_SAFE_INTEGER")}} (>= 2 ** 53) oder negativ ist.
Der ArrayBuffer
Konstruktor erstellt einen neuen ArrayBuffer
der angegebenen Länge in Bytes.
ArrayBuffer.length
ArrayBuffer
Konstruktors für die Länge.ArrayBuffer
Objekten.true
zurück wenn arg
eines der Views des ArrayBuffers
ist, wie zum Beispiel die typisierten Array-Objekte oder ein {{jsxref("DataView")}}. Ansonsten wird false
zurückgegeben.ArrayBuffer
zurück, dessen Inhalt von den Daten des oldBuffer
s genommen wird und dann entweder abgeschnitten oder mit Null auf newByteLength
erweitert wird.Alle ArrayBuffer
Instanzen erben von {{jsxref("ArrayBuffer.prototype")}}.
{{page('de/Web/JavaScript/Reference/Global_Objects/ArrayBuffer/prototype','Eigenschaften')}}
{{page('de/Web/JavaScript/Reference/Global_Objects/ArrayBuffer/prototype','Methoden')}}
In diesem Beispiel erstellen wir einen 8-byte Puffer mit einem {{jsxref("Global_Objects/Int32Array", "Int32Array")}} View, um auf den Puffer zu verweisen:
var buffer = new ArrayBuffer(8); var view = new Int32Array(buffer);
Spezifikation | Status | Kommentar |
---|---|---|
{{SpecName('Typed Array')}} | {{Spec2('Typed Array')}} | Ersetzt durch ECMAScript 6. |
{{SpecName('ES6', '#sec-arraybuffer-constructor', 'ArrayBuffer')}} | {{Spec2('ES6')}} | Initiale Definition im ECMA Standard. Spezifiziert, dass new benötigt wird. |
{{SpecName('ESDraft', '#sec-arraybuffer-constructor', 'ArrayBuffer')}} | {{Spec2('ESDraft')}} |
{{Compat("javascript.builtins.ArrayBuffer")}}
Seit ECMAScript 2015 müssen ArrayBuffer
Konstruktor mit einem {{jsxref("Operators/new", "new")}} Operator konstruiert werden. Einen ArrayBuffer
Konstruktor als Funktion aufzurufen ohne new
ab sofort einen {{jsxref("TypeError")}} erheben.
var dv = ArrayBuffer(10); // TypeError: Einen eingebauten ArrayBuffer-Konstruktor // ohne new aufzurufen ist nicht erlaubt.
var dv = new ArrayBuffer(10);