files/en-us/web/javascript/reference/global_objects/dataview/index.md
The DataView view provides a low-level interface for reading and writing multiple number types in a binary {{jsxref("ArrayBuffer")}}, without having to care about the platform's endianness.
Multi-byte number formats are represented in memory differently depending on machine architecture — see Endianness for an explanation. DataView accessors provide explicit control of how data is accessed, regardless of the executing computer's endianness. For example, WebAssembly memory is always little-endian, so you should use DataView instead of typed arrays to read and write multi-byte values. See WebAssembly.Memory for an example.
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
[!NOTE]
DataViewdefaults to big-endian read and write, but most platforms use little-endian.
DataView object.These properties are defined on DataView.prototype and shared by all DataView instances.
DataView.DataView.DataView from the start of its {{jsxref("ArrayBuffer")}}.DataView instances, the initial value is the {{jsxref("DataView/DataView", "DataView")}} constructor.DataView.prototype[Symbol.toStringTag]
[Symbol.toStringTag] property is the string "DataView". This property is used in {{jsxref("Object.prototype.toString()")}}.DataView and interprets them as a 64-bit signed integer.DataView and interprets them as a 64-bit unsigned integer.DataView and interprets them as a 16-bit floating point number.DataView and interprets them as a 32-bit floating point number.DataView and interprets them as a 64-bit floating point number.DataView and interprets them as a 16-bit signed integer.DataView and interprets them as a 32-bit signed integer.DataView and interprets it as an 8-bit signed integer.DataView and interprets them as a 16-bit unsigned integer.DataView and interprets them as a 32-bit unsigned integer.DataView and interprets it as an 8-bit unsigned integer.DataView.DataView.DataView.DataView.DataView.DataView.DataView.DataView.DataView.DataView.DataView.const buffer = new ArrayBuffer(16);
const view = new DataView(buffer, 0);
view.setInt16(1, 42);
view.getInt16(1); // 42
{{Specifications}}
{{Compat}}
DataView in core-js