--- 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]])
buffer
DataView
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.