DataView
BaselineWidely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
* Some parts of this feature may have varying levels of support.
DieDataView
-Sicht 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.
Beschreibung
Endianness
Mehrbyte-Zahlenformate werden je nach Maschinenarchitektur unterschiedlich im Speicher dargestellt — 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 ist der Speicher vonWebAssembly immer im Little-Endian-Format, 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 false
Hinweis:DataView
verwendet standardmäßig das Big-Endian-Format für das Lesen und Schreiben, 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 gemeinsam genutzt.
DataView.prototype.buffer
Der durch diese Sicht referenzierte
ArrayBuffer
. Festgelegt zur Konstruktionszeit und daherschreibgeschützt.DataView.prototype.byteLength
Die Länge (in Bytes) dieser Sicht. Festgelegt zur Konstruktionszeit und daherschreibgeschützt.
DataView.prototype.byteOffset
Der Offset (in Bytes) dieser Sicht vom Anfang ihres
ArrayBuffer
. Festgelegt zur Konstruktionszeit und daherschreibgeschützt.DataView.prototype.constructor
Die Konstruktorfunktion, die das Instanzobjekt erstellt hat. Für
DataView
-Instanzen ist der Anfangswert derDataView
-Konstruktor.DataView.prototype[Symbol.toStringTag]
Der Anfangswert der
[Symbol.toStringTag]
-Eigenschaft ist der String"DataView"
. Diese Eigenschaft wird inObject.prototype.toString()
verwendet.
Instanz-Methoden
DataView.prototype.getBigInt64()
Liest 8 Bytes beginnend am angegebenen Byte-Offset dieses
DataView
und interpretiert sie als 64-Bit-Vorzeichen ganze Zahl.DataView.prototype.getBigUint64()
Liest 8 Bytes beginnend am angegebenen Byte-Offset dieses
DataView
und interpretiert sie als 64-Bit-Unsignierte ganze Zahl.DataView.prototype.getFloat16()
Liest 2 Bytes beginnend am angegebenen Byte-Offset dieses
DataView
und interpretiert sie als 16-Bit-Gleitkommazahl.DataView.prototype.getFloat32()
Liest 4 Bytes beginnend am angegebenen Byte-Offset dieses
DataView
und interpretiert sie als 32-Bit-Gleitkommazahl.DataView.prototype.getFloat64()
Liest 8 Bytes beginnend am angegebenen Byte-Offset dieses
DataView
und interpretiert sie als 64-Bit-Gleitkommazahl.DataView.prototype.getInt16()
Liest 2 Bytes beginnend am angegebenen Byte-Offset dieses
DataView
und interpretiert sie als 16-Bit-Vorzeichen ganze Zahl.DataView.prototype.getInt32()
Liest 4 Bytes beginnend am angegebenen Byte-Offset dieses
DataView
und interpretiert sie als 32-Bit-Vorzeichen ganze Zahl.DataView.prototype.getInt8()
Liest 1 Byte am angegebenen Byte-Offset dieses
DataView
und interpretiert es als 8-Bit-Vorzeichen ganze Zahl.DataView.prototype.getUint16()
Liest 2 Bytes beginnend am angegebenen Byte-Offset dieses
DataView
und interpretiert sie als 16-Bit-Unsignierte ganze Zahl.DataView.prototype.getUint32()
Liest 4 Bytes beginnend am angegebenen Byte-Offset dieses
DataView
und interpretiert sie als 32-Bit-Unsignierte ganze Zahl.DataView.prototype.getUint8()
Liest 1 Byte am angegebenen Byte-Offset dieses
DataView
und interpretiert es als 8-Bit-Unsignierte ganze Zahl.DataView.prototype.setBigInt64()
Nimmt ein BigInt und speichert es als 64-Bit-Vorzeichen ganze Zahl in den 8 Bytes beginnend am angegebenen Byte-Offset dieses
DataView
.DataView.prototype.setBigUint64()
Nimmt ein BigInt und speichert es als 64-Bit-Unsignierte ganze Zahl in den 8 Bytes beginnend am angegebenen Byte-Offset dieses
DataView
.DataView.prototype.setFloat16()
Nimmt eine Zahl und speichert sie als 16-Bit-Gleitkommazahl in den 2 Bytes beginnend am angegebenen Byte-Offset dieses
DataView
.DataView.prototype.setFloat32()
Nimmt eine Zahl und speichert sie als 32-Bit-Gleitkommazahl in den 4 Bytes beginnend am angegebenen Byte-Offset dieses
DataView
.DataView.prototype.setFloat64()
Nimmt eine Zahl und speichert sie als 64-Bit-Gleitkommazahl in den 8 Bytes beginnend am angegebenen Byte-Offset dieses
DataView
.DataView.prototype.setInt16()
Nimmt eine Zahl und speichert sie als 16-Bit-Vorzeichen ganze Zahl in den 2 Bytes am angegebenen Byte-Offset dieses
DataView
.DataView.prototype.setInt32()
Nimmt eine Zahl und speichert sie als 32-Bit-Vorzeichen ganze Zahl in den 4 Bytes am angegebenen Byte-Offset dieses
DataView
.DataView.prototype.setInt8()
Nimmt eine Zahl und speichert sie als 8-Bit-Vorzeichen ganze Zahl im Byte am angegebenen Byte-Offset dieses
DataView
.DataView.prototype.setUint16()
Nimmt eine Zahl und speichert sie als 16-Bit-Unsignierte ganze Zahl in den 2 Bytes am angegebenen Byte-Offset dieses
DataView
.DataView.prototype.setUint32()
Nimmt eine Zahl und speichert sie als 32-Bit-Unsignierte ganze Zahl in den 4 Bytes am angegebenen Byte-Offset dieses
DataView
.DataView.prototype.setUint8()
Nimmt eine Zahl und speichert sie als 8-Bit-Unsignierte ganze Zahl im Byte am angegebenen Byte-Offset dieses
DataView
.
Beispiele
Verwendung von DataView
const buffer = new ArrayBuffer(16);const view = new DataView(buffer, 0);view.setInt16(1, 42);view.getInt16(1); // 42
Spezifikationen
Specification |
---|
ECMAScript® 2026 Language Specification # sec-dataview-objects |
Browser-Kompatibilität
Siehe auch
MDN-Feedback-Box
Diese Seite wurde automatisch aus dem Englischen übersetzt.