--- title: DataView slug: Web/JavaScript/Reference/Global_Objects/DataView tags: - Constructor - DataView - JavaScript - TypedArrays translation_of: Web/JavaScript/Reference/Global_Objects/DataView ---
Die DataView Ansicht unterstützt eine Low-Level Schnittstelle für das Lesen und Schreiben von mehrere Zahlentypen in einem {{jsxref("ArrayBuffer")}}. Diese Ansicht ist unabhängig von den Plattform Byte-Reihenfolgen.
new DataView(buffer [, byteOffset [, byteLength]])
bufferDataView Objekt dient.byteOffset {{optional_inline}}byteLength {{optional_inline}}Ein neues DataView Objekt welches den spezifizierten Datenpuffer (Buffer) repräsentiert.
{{jsxref("RangeError")}}byteOffset oder byteLength Größe als der Puffer (Buffers) sindZahlenformate mit mehreren Bytes werden im Speicher verschieden dargestellt, je nachdem welche Maschinenarchitektur genutzt wird (siehe {{Glossary("Endianness")}} für weitere Erklärungen). DataView bietet explizit die Kontrolle über den Zugriff auf die Zahlen unabhängig von der Plattformarchitektur-Byte-Reihenfolge.
var littleEndian = (function() {
var buffer = new ArrayBuffer(2);
new DataView(buffer).setInt16(0, 256, true /* littleEndian */);
// Int16Array benutzt die Plattform Byte-Reihenfolge.
return new Int16Array(buffer)[0] === 256;
})();
console.log(littleEndian); // true oder false
Alle DataView Instanzen erben von {{jsxref("DataView.prototype")}} und erlauben das Hinzufügen von Eigenschaften zu allen DataView Objekten
{{page('de/Web/JavaScript/Reference/Global_Objects/DataView/prototype','Eigenschaften')}}
{{page('de/Web/JavaScript/Reference/Global_Objects/DataView/prototype','Methoden')}}
var buffer = new ArrayBuffer(16); var dv = new DataView(buffer, 0); dv.setInt16(1, 42); dv.getInt16(1); //42
| Spezifikation | Status | Kommentar |
|---|---|---|
| {{SpecName('Typed Array')}} | {{Spec2('Typed Array')}} | Abgelöst von ECMAScript 6 |
| {{SpecName('ES6', '#sec-dataview-constructor', 'DataView')}} | {{Spec2('ES6')}} | Initiale Definition in einem ECMA Standard |
| {{SpecName('ESDraft', '#sec-dataview-constructor', 'DataView')}} | {{Spec2('ESDraft')}} |
{{Compat("javascript.builtins.DataView")}}
Mit dem Start von Firefox 40 wird der {{jsxref("Operators/new", "new")}} Operator benötigt um eine DataView zu erstellen. Der Aufruf von DataView() als Funktion ohne new erzeugt jetzt einen {{jsxref("TypeError")}}.
var dv = DataView(buffer, 0); // TypeError: Das Aufrufen des DataView-Konstruktors ohne new ist verboten
var dv = new DataView(buffer, 0);
DataView API in allen Browdern und Node.js zur verfügung stellt.