Esta traducción está incompleta. Por favor, ayuda a traducir este artículo del inglés.

DataView provee una interfaz de bajo nivel para la lectura y escritura de diferentes tipos de números dentro de un ArrayBuffer sin importar el endianness de la plataforma.

Sintaxis

new DataView(buffer [, byteOffset [, byteLength]])

Parámetros

buffer
Un ArrayBufferSharedArrayBuffer  existente que será utilizado por el nuevo objeto DataView.
byteOffset Optional
El desplazamiento, en bytes, desde el primer byte en el buffer, que servirá como referencia para iniciar la nueva vista. Si no es especificado, la vista comenzará con el primer byte del buffer.
byteLength Optional
El número de elementos en el array de bytes. Si no es especificado, el tamaño de la vista será el mismo tamaño del buffer.

Valor retornado

Un nuevo objeto DataView representando el buffer de datos especificado.

Excepciones

RangeError
Esta excepción es lanzada si el byteOffset y el byteLength resultante en la nueva vista sobrepasan el final del buffer.

Description

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 will be accessed irrespective of the platform architecture's endianness.

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

Properties

All DataView instances inherit from DataView.prototype and allows the addition of properties to all DataView objects.

DataView.prototype.constructor
Specifies the function that creates an object's prototype. The initial value is the standard built-in DataView constructor.
DataView.prototype.buffer Read only
The ArrayBuffer referenced by this view. Fixed at construction time and thus read only.
DataView.prototype.byteLength Read only
The length (in bytes) of this view from the start of its ArrayBuffer. Fixed at construction time and thus read only.
DataView.prototype.byteOffset Read only
The offset (in bytes) of this view from the start of its ArrayBuffer. Fixed at construction time and thus read only.

Methods

Read

DataView.prototype.getInt8()
Gets a signed 8-bit integer (byte) at the specified byte offset from the start of the view.
DataView.prototype.getUint8()
Gets an unsigned 8-bit integer (unsigned byte) at the specified byte offset from the start of the view.
DataView.prototype.getInt16()
Gets a signed 16-bit integer (short) at the specified byte offset from the start of the view.
DataView.prototype.getUint16()
Gets an unsigned 16-bit integer (unsigned short) at the specified byte offset from the start of the view.
DataView.prototype.getInt32()
Gets a signed 32-bit integer (long) at the specified byte offset from the start of the view.
DataView.prototype.getUint32()
Gets an unsigned 32-bit integer (unsigned long) at the specified byte offset from the start of the view.
DataView.prototype.getFloat32()
Gets a signed 32-bit float (float) at the specified byte offset from the start of the view.
DataView.prototype.getFloat64()
Gets a signed 64-bit float (double) at the specified byte offset from the start of the view.

Write

DataView.prototype.setInt8()
Stores a signed 8-bit integer (byte) value at the specified byte offset from the start of the view.
DataView.prototype.setUint8()
Stores an unsigned 8-bit integer (unsigned byte) value at the specified byte offset from the start of the view.
DataView.prototype.setInt16()
Stores a signed 16-bit integer (short) value at the specified byte offset from the start of the view.
DataView.prototype.setUint16()
Stores an unsigned 16-bit integer (unsigned short) value at the specified byte offset from the start of the view.
DataView.prototype.setInt32()
Stores a signed 32-bit integer (long) value at the specified byte offset from the start of the view.
DataView.prototype.setUint32()
Stores an unsigned 32-bit integer (unsigned long) value at the specified byte offset from the start of the view.
DataView.prototype.setFloat32()
Stores a signed 32-bit float (float) value at the specified byte offset from the start of the view.
DataView.prototype.setFloat64()
Stores a signed 64-bit float (double) value at the specified byte offset from the start of the view.

Example

var buffer = new ArrayBuffer(16);
var dv = new DataView(buffer, 0);

dv.setInt16(1, 42);
dv.getInt16(1); //42

Specifications

Specification Status Comment
Typed Array Specification Obsolete Superseded by ECMAScript 6
ECMAScript 2015 (6th Edition, ECMA-262)
La definición de 'DataView' en esta especificación.
Standard Initial definition in an ECMA standard
ECMAScript Latest Draft (ECMA-262)
La definición de 'DataView' en esta especificación.
Draft  

Browser compatibility

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidiOS SafariSamsung InternetNode.js
Soporte básicoChrome Soporte completo 9Edge Soporte completo 12Firefox Soporte completo 15IE Soporte completo 10Opera Soporte completo 12.1Safari Soporte completo 5.1WebView Android Soporte completo 4Chrome Android Soporte completo SiEdge Mobile Soporte completo SiFirefox Android Soporte completo 15Opera Android Soporte completo 12Safari iOS Soporte completo 4.2Samsung Internet Android Soporte completo Sinodejs Soporte completo Si
DataView() without new throwsChrome Soporte completo SiEdge Soporte completo SiFirefox Soporte completo 40IE Sin soporte NoOpera Soporte completo SiSafari ? WebView Android ? Chrome Android ? Edge Mobile ? Firefox Android Soporte completo 40Opera Android ? Safari iOS ? Samsung Internet Android ? nodejs Soporte completo 0.12
SharedArrayBuffer accepted as bufferChrome Soporte completo 60Edge ? Firefox Soporte completo 55IE ? Opera ? Safari ? WebView Android ? Chrome Android ? Edge Mobile ? Firefox Android Soporte completo 55Opera Android ? Safari iOS ? Samsung Internet Android ? nodejs ?
bufferChrome Soporte completo 9Edge Soporte completo 12Firefox Soporte completo 15IE Soporte completo 10Opera Soporte completo 12.1Safari Soporte completo 5.1WebView Android Soporte completo 4Chrome Android Soporte completo SiEdge Mobile Soporte completo SiFirefox Android Soporte completo 15Opera Android Soporte completo 12Safari iOS Soporte completo 4.2Samsung Internet Android Soporte completo Sinodejs Soporte completo Si
byteLengthChrome Soporte completo 9Edge Soporte completo 12Firefox Soporte completo 15IE Soporte completo 10Opera Soporte completo 12.1Safari Soporte completo 5.1WebView Android Soporte completo 4Chrome Android Soporte completo SiEdge Mobile Soporte completo SiFirefox Android Soporte completo 15Opera Android Soporte completo 12Safari iOS Soporte completo 4.2Samsung Internet Android Soporte completo Sinodejs Soporte completo Si
byteOffsetChrome Soporte completo 9Edge Soporte completo 12Firefox Soporte completo 15IE Soporte completo 10Opera Soporte completo 12.1Safari Soporte completo 5.1WebView Android Soporte completo 4Chrome Android Soporte completo SiEdge Mobile Soporte completo SiFirefox Android Soporte completo 15Opera Android Soporte completo 12Safari iOS Soporte completo 4.2Samsung Internet Android Soporte completo Sinodejs Soporte completo Si
getFloat32Chrome Soporte completo 9Edge Soporte completo 12Firefox Soporte completo 15IE Soporte completo 10Opera Soporte completo 12.1Safari Soporte completo 5.1WebView Android Soporte completo 4Chrome Android Soporte completo SiEdge Mobile Soporte completo SiFirefox Android Soporte completo 15Opera Android Soporte completo 12Safari iOS Soporte completo 4.2Samsung Internet Android Soporte completo Sinodejs Soporte completo Si
getFloat64Chrome Soporte completo 9Edge Soporte completo 12Firefox Soporte completo 15IE Soporte completo 10Opera Soporte completo 12.1Safari Soporte completo 5.1WebView Android Soporte completo 4Chrome Android Soporte completo SiEdge Mobile Soporte completo SiFirefox Android Soporte completo 15Opera Android Soporte completo 12Safari iOS Soporte completo 4.2Samsung Internet Android Soporte completo Sinodejs Soporte completo Si
getInt16Chrome Soporte completo 9Edge Soporte completo 12Firefox Soporte completo 15IE Soporte completo 10Opera Soporte completo 12.1Safari Soporte completo 5.1WebView Android Soporte completo 4Chrome Android Soporte completo SiEdge Mobile Soporte completo SiFirefox Android Soporte completo 15Opera Android Soporte completo 12Safari iOS Soporte completo 4.2Samsung Internet Android Soporte completo Sinodejs Soporte completo Si
getInt32Chrome Soporte completo 9Edge Soporte completo 12Firefox Soporte completo 15IE Soporte completo 10Opera Soporte completo 12.1Safari Soporte completo 5.1WebView Android Soporte completo 4Chrome Android Soporte completo SiEdge Mobile Soporte completo SiFirefox Android Soporte completo 15Opera Android Soporte completo 12Safari iOS Soporte completo 4.2Samsung Internet Android Soporte completo Sinodejs Soporte completo Si
getInt8Chrome Soporte completo 9Edge Soporte completo 12Firefox Soporte completo 15IE Soporte completo 10Opera Soporte completo 12.1Safari Soporte completo 5.1WebView Android Soporte completo 4Chrome Android Soporte completo SiEdge Mobile Soporte completo SiFirefox Android Soporte completo 15Opera Android Soporte completo 12Safari iOS Soporte completo 4.2Samsung Internet Android Soporte completo Sinodejs Soporte completo Si
getUint16Chrome Soporte completo 9Edge Soporte completo 12Firefox Soporte completo 15IE Soporte completo 10Opera Soporte completo 12.1Safari Soporte completo 5.1WebView Android Soporte completo 4Chrome Android Soporte completo SiEdge Mobile Soporte completo SiFirefox Android Soporte completo 15Opera Android Soporte completo 12Safari iOS Soporte completo 4.2Samsung Internet Android Soporte completo Sinodejs Soporte completo Si
getUint32Chrome Soporte completo 9Edge Soporte completo 12Firefox Soporte completo 15IE Soporte completo 10Opera Soporte completo 12.1Safari Soporte completo 5.1WebView Android Soporte completo 4Chrome Android Soporte completo SiEdge Mobile Soporte completo SiFirefox Android Soporte completo 15Opera Android Soporte completo 12Safari iOS Soporte completo 4.2Samsung Internet Android Soporte completo Sinodejs Soporte completo Si
getUint8Chrome Soporte completo 9Edge Soporte completo 12Firefox Soporte completo 15IE Soporte completo 10Opera Soporte completo 12.1Safari Soporte completo 5.1WebView Android Soporte completo 4Chrome Android Soporte completo SiEdge Mobile Soporte completo SiFirefox Android Soporte completo 15Opera Android Soporte completo 12Safari iOS Soporte completo 4.2Samsung Internet Android Soporte completo Sinodejs Soporte completo Si
setFloat32Chrome Soporte completo 9Edge Soporte completo 12Firefox Soporte completo 15IE Soporte completo 10Opera Soporte completo 12.1Safari Soporte completo 5.1WebView Android Soporte completo 4Chrome Android Soporte completo SiEdge Mobile Soporte completo SiFirefox Android Soporte completo 15Opera Android Soporte completo 12Safari iOS Soporte completo 4.2Samsung Internet Android Soporte completo Sinodejs Soporte completo Si
setFloat64Chrome Soporte completo 9Edge Soporte completo 12Firefox Soporte completo 15IE Soporte completo 10Opera Soporte completo 12.1Safari Soporte completo 5.1WebView Android Soporte completo 4Chrome Android Soporte completo SiEdge Mobile Soporte completo SiFirefox Android Soporte completo 15Opera Android Soporte completo 12Safari iOS Soporte completo 4.2Samsung Internet Android Soporte completo Sinodejs Soporte completo Si
setInt16Chrome Soporte completo 9Edge Soporte completo 12Firefox Soporte completo 15IE Soporte completo 10Opera Soporte completo 12.1Safari Soporte completo 5.1WebView Android Soporte completo 4Chrome Android Soporte completo SiEdge Mobile Soporte completo SiFirefox Android Soporte completo 15Opera Android Soporte completo 12Safari iOS Soporte completo 4.2Samsung Internet Android Soporte completo Sinodejs Soporte completo Si
setInt32Chrome Soporte completo 9Edge Soporte completo 12Firefox Soporte completo 15IE Soporte completo 10Opera Soporte completo 12.1Safari Soporte completo 5.1WebView Android Soporte completo 4Chrome Android Soporte completo SiEdge Mobile Soporte completo SiFirefox Android Soporte completo 15Opera Android Soporte completo 12Safari iOS Soporte completo 4.2Samsung Internet Android Soporte completo Sinodejs Soporte completo Si
setInt8Chrome Soporte completo 9Edge Soporte completo 12Firefox Soporte completo 15IE Soporte completo 10Opera Soporte completo 12.1Safari Soporte completo 5.1WebView Android Soporte completo 4Chrome Android Soporte completo SiEdge Mobile Soporte completo SiFirefox Android Soporte completo 15Opera Android Soporte completo 12Safari iOS Soporte completo 4.2Samsung Internet Android Soporte completo Sinodejs Soporte completo Si
setUint16Chrome Soporte completo 9Edge Soporte completo 12Firefox Soporte completo 15IE Soporte completo 10Opera Soporte completo 12.1Safari Soporte completo 5.1WebView Android Soporte completo 4Chrome Android Soporte completo SiEdge Mobile Soporte completo SiFirefox Android Soporte completo 15Opera Android Soporte completo 12Safari iOS Soporte completo 4.2Samsung Internet Android Soporte completo Sinodejs Soporte completo Si
setUint32Chrome Soporte completo 9Edge Soporte completo 12Firefox Soporte completo 15IE Soporte completo 10Opera Soporte completo 12.1Safari Soporte completo 5.1WebView Android Soporte completo 4Chrome Android Soporte completo SiEdge Mobile Soporte completo SiFirefox Android Soporte completo 15Opera Android Soporte completo 12Safari iOS Soporte completo 4.2Samsung Internet Android Soporte completo Sinodejs Soporte completo Si
setUint8Chrome Soporte completo 9Edge Soporte completo 12Firefox Soporte completo 15IE Soporte completo 10Opera Soporte completo 12.1Safari Soporte completo 5.1WebView Android Soporte completo 4Chrome Android Soporte completo SiEdge Mobile Soporte completo SiFirefox Android Soporte completo 15Opera Android Soporte completo 12Safari iOS Soporte completo 4.2Samsung Internet Android Soporte completo Sinodejs Soporte completo Si
prototypeChrome Soporte completo 9Edge Soporte completo 12Firefox Soporte completo 15IE Soporte completo 10Opera Soporte completo 12.1Safari Soporte completo 5.1WebView Android Soporte completo 4Chrome Android Soporte completo SiEdge Mobile Soporte completo SiFirefox Android Soporte completo 15Opera Android Soporte completo 12Safari iOS Soporte completo 4.2Samsung Internet Android Soporte completo Sinodejs Soporte completo Si

Leyenda

Soporte completo  
Soporte completo
Sin soporte  
Sin soporte
Compatibility unknown  
Compatibility unknown

Compatibility notes

Starting with Firefox 40, DataView requires to be constructed with a new operator. Calling DataView() as a function without new, will throw a 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);

See also

Etiquetas y colaboradores del documento

Colaboradores en esta página: andresroberto
Última actualización por: andresroberto,