--- title: DataView slug: Web/JavaScript/Reference/Global_Objects/DataView translation_of: Web/JavaScript/Reference/Global_Objects/DataView ---
Вид DataView предоставляет низко-уровневый интерфейс для чтения и записи многочисленных числовых типов в бинарном {{jsxref("ArrayBuffer")}}, независимо от порядка байтов платформы.
new DataView(buffer [, byteOffset [, byteLength]])
bufferDataView.byteOffset {{optional_inline}}byteLength {{optional_inline}}Новый объект DataView представляющий определённый буфер данных.
{{jsxref("RangeError")}}byteOffset и byteLength заходит за пределы буфера.Многобайтовые числовые форматы представлены в памяти по разному в зависимости от архитектуры машины, см {{Glossary("Endianness")}} для объяснения. Аксессоры DataView предоставляют явный контроль над обращением к данным вне зависимости от порядка байтов архитектуры платформы.
var littleEndian = (function() {
var 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
All DataView instances inherit from {{jsxref("DataView.prototype")}} and allows the addition of properties to all DataView objects.
{{page('en-US/Web/JavaScript/Reference/Global_Objects/DataView/prototype','Properties')}}
{{page('en-US/Web/JavaScript/Reference/Global_Objects/DataView/prototype','Methods')}}
var buffer = new ArrayBuffer(16); var dv = new DataView(buffer, 0); dv.setInt16(1, 42); dv.getInt16(1); //42
{{Compat}}
Starting with Firefox 40, DataView requires to be constructed with a {{jsxref("Operators/new", "new")}} operator. Calling DataView() as a function without new, will throw a {{jsxref("TypeError")}} from now on.
var dv = DataView(buffer, 0); // TypeError: calling a builtin DataView constructor without new is forbidden
var dv = new DataView(buffer, 0);
DataView API to all browsers and Node.js.