Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
DataView
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Juli 2015.
* Some parts of this feature may have varying levels of support.
DieDataView Ansicht bietet eine Low-Level-Schnittstelle zum Lesen und Schreiben mehrerer Zahlentypen in einem binärenArrayBuffer, ohne sich um dieEndianness der Plattform kümmern zu müssen.
In diesem Artikel
Beschreibung
>Endianness
Mehrbyte-Zahlenformate werden im Speicher unterschiedlich dargestellt, je nach Maschinenarchitektur – sieheEndianness für eine Erklärung.DataView-Zugriffs-Methoden bieten explizite Kontrolle darüber, wie auf Daten zugegriffen wird, unabhängig von der Endianness des ausführenden Computers. Zum Beispiel istWebAssembly-Speicher immer little-endian, daher sollten SieDataView anstelle von typisierten Arrays verwenden, um Mehrbyte-Werte zu lesen und zu schreiben. SieheWebAssembly.Memory für ein Beispiel.
const littleEndian = (() => { const buffer = new ArrayBuffer(2); new DataView(buffer).setInt16(0, 256, true /* littleEndian */); // Int16Array uses the platform's endianness. return new Int16Array(buffer)[0] === 256;})();console.log(littleEndian); // true or falseHinweis:DataView liest und schreibt standardmäßig big-endian, aber die meisten Plattformen verwenden little-endian.
Konstruktor
DataView()Erstellt ein neues
DataView-Objekt.
Instanz-Eigenschaften
Diese Eigenschaften sind aufDataView.prototype definiert und werden von allenDataView-Instanzen geteilt.
DataView.prototype.bufferGibt den
ArrayBufferzurück, auf den dasDataViewverweist.DataView.prototype.byteLengthGibt die Länge (in Bytes) des
DataViewzurück.DataView.prototype.byteOffsetGibt den Versatz (in Bytes) des
DataViewab dem Anfang seinesArrayBufferzurück.DataView.prototype.constructorDie Konstruktorfunktion, die das Instanzobjekt erstellt hat. Für
DataView-Instanzen ist der anfängliche Wert derDataView-Konstruktor.DataView.prototype[Symbol.toStringTag]Der anfängliche Wert der
[Symbol.toStringTag]-Eigenschaft ist der String"DataView". Diese Eigenschaft wird inObject.prototype.toString()verwendet.
Instanz-Methoden
DataView.prototype.getBigInt64()Liest 8 Bytes ab dem angegebenen Byte-Versatz dieses
DataViewund interpretiert sie als 64-Bit-Ganzzahl mit Vorzeichen.DataView.prototype.getBigUint64()Liest 8 Bytes ab dem angegebenen Byte-Versatz dieses
DataViewund interpretiert sie als 64-Bit-Ganzzahl ohne Vorzeichen.DataView.prototype.getFloat16()Liest 2 Bytes ab dem angegebenen Byte-Versatz dieses
DataViewund interpretiert sie als 16-Bit-Gleitkommazahl.DataView.prototype.getFloat32()Liest 4 Bytes ab dem angegebenen Byte-Versatz dieses
DataViewund interpretiert sie als 32-Bit-Gleitkommazahl.DataView.prototype.getFloat64()Liest 8 Bytes ab dem angegebenen Byte-Versatz dieses
DataViewund interpretiert sie als 64-Bit-Gleitkommazahl.DataView.prototype.getInt16()Liest 2 Bytes ab dem angegebenen Byte-Versatz dieses
DataViewund interpretiert sie als 16-Bit-Ganzzahl mit Vorzeichen.DataView.prototype.getInt32()Liest 4 Bytes ab dem angegebenen Byte-Versatz dieses
DataViewund interpretiert sie als 32-Bit-Ganzzahl mit Vorzeichen.DataView.prototype.getInt8()Liest 1 Byte am angegebenen Byte-Versatz dieses
DataViewund interpretiert es als 8-Bit-Ganzzahl mit Vorzeichen.DataView.prototype.getUint16()Liest 2 Bytes ab dem angegebenen Byte-Versatz dieses
DataViewund interpretiert sie als 16-Bit-Ganzzahl ohne Vorzeichen.DataView.prototype.getUint32()Liest 4 Bytes ab dem angegebenen Byte-Versatz dieses
DataViewund interpretiert sie als 32-Bit-Ganzzahl ohne Vorzeichen.DataView.prototype.getUint8()Liest 1 Byte am angegebenen Byte-Versatz dieses
DataViewund interpretiert es als 8-Bit-Ganzzahl ohne Vorzeichen.DataView.prototype.setBigInt64()Nimmt ein BigInt und speichert es als 64-Bit-Ganzzahl mit Vorzeichen in den 8 Bytes ab dem angegebenen Byte-Versatz dieses
DataView.DataView.prototype.setBigUint64()Nimmt ein BigInt und speichert es als 64-Bit-Ganzzahl ohne Vorzeichen in den 8 Bytes ab dem angegebenen Byte-Versatz dieses
DataView.DataView.prototype.setFloat16()Nimmt eine Zahl und speichert sie als 16-Bit-Gleitkommazahl in den 2 Bytes ab dem angegebenen Byte-Versatz dieses
DataView.DataView.prototype.setFloat32()Nimmt eine Zahl und speichert sie als 32-Bit-Gleitkommazahl in den 4 Bytes ab dem angegebenen Byte-Versatz dieses
DataView.DataView.prototype.setFloat64()Nimmt eine Zahl und speichert sie als 64-Bit-Gleitkommazahl in den 8 Bytes ab dem angegebenen Byte-Versatz dieses
DataView.DataView.prototype.setInt16()Nimmt eine Zahl und speichert sie als 16-Bit-Ganzzahl mit Vorzeichen in den 2 Bytes am angegebenen Byte-Versatz dieses
DataView.DataView.prototype.setInt32()Nimmt eine Zahl und speichert sie als 32-Bit-Ganzzahl mit Vorzeichen in den 4 Bytes am angegebenen Byte-Versatz dieses
DataView.DataView.prototype.setInt8()Nimmt eine Zahl und speichert sie als 8-Bit-Ganzzahl mit Vorzeichen im Byte am angegebenen Byte-Versatz dieses
DataView.DataView.prototype.setUint16()Nimmt eine Zahl und speichert sie als 16-Bit-Ganzzahl ohne Vorzeichen in den 2 Bytes am angegebenen Byte-Versatz dieses
DataView.DataView.prototype.setUint32()Nimmt eine Zahl und speichert sie als 32-Bit-Ganzzahl ohne Vorzeichen in den 4 Bytes am angegebenen Byte-Versatz dieses
DataView.DataView.prototype.setUint8()Nimmt eine Zahl und speichert sie als 8-Bit-Ganzzahl ohne Vorzeichen im Byte am angegebenen Byte-Versatz dieses
DataView.
Beispiele
>Verwendung von DataView
const buffer = new ArrayBuffer(16);const view = new DataView(buffer, 0);view.setInt16(1, 42);view.getInt16(1); // 42Spezifikationen
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-dataview-objects> |