ArrayBuffer

El objeto ArrayBuffer se usa para representar un buffer genérico, de datos binarios crudos (raw) con una longitud específica. No se puede manipular directamente el contenido de un ArrayBuffer; sin embargo, puedes crear uno de los arrays tipados o un objeto DataView que representa el buffer en un formato especifico, y usarlo para leer y escribir el contenido del buffer.

Sintaxis

new ArrayBuffer(length)

Parámetros

length
El tamaño en bytes, del array buffer que quieres crear.

Valor de retorno

Un nuevo objeto ArrayBuffer de tamaño específico. Su contenido se inicializa a cero.

Excepciones

Se lanza un RangeError si la longitud (length) es mayor que Number.MAX_SAFE_INTEGER (> = 2 ** 53) o negativa.

Descripción

El constructor de ArrayBuffer crea un nuevo ArrayBuffer del tamaño especificado en bytes.

Obtener un array buffer sobre datos existentes

Propiedades

ArrayBuffer.length
El tamaño de constructor de ArrayBuffer cuyo valor es 1.
get ArrayBuffer[@@species]
La función de constructor que se usa para crear objetos derivados.
ArrayBuffer.prototype (en-US)
Permite añadir propiedades a todos los objetos ArrayBuffer.

Métodos

ArrayBuffer.isView(arg) (en-US)
Devuelve true si arg es una de las vistas de ArrayBuffer, como pueden ser los arrays tipados o un DataView. Sino devuelve false.
ArrayBuffer.transfer(oldBuffer [, newByteLength]) This is an experimental API that should not be used in production code.
Devuelve un nuevo ArrayBuffer cuyo contenido se toma de los datos de oldBuffer y luego es truncado o extendido por cero por newByteLength.

Instancias

Todas las instancias de ArrayBuffer heredan de ArrayBuffer.prototype (en-US).

Propiedades

{{page('es/Web/JavaScript/Reference/Global_Objects/ArrayBuffer/prototype','Propiedades')}}

Métodos

{{page('es/Web/JavaScript/Reference/Global_Objects/ArrayBuffer/prototype','Métodos')}}

ArrayBuffer.slice() (en-US) This API has not been standardized.
Tiene la misma funcionalidad que ArrayBuffer.prototype.slice() (en-US).

Ejemplo

En este ejemplo creamos un buffer de 8-bytes con una vista del tipo Int32Array (en-US) referenciando dicho buffer:

var buffer = new ArrayBuffer(8);
var view   = new Int32Array(buffer);

Especificaciones

Especificación Estado Comentario
Typed Array Specification Obsolete Sustituida por ECMAScript 6.
ECMAScript 2015 (6th Edition, ECMA-262)
La definición de 'ArrayBuffer' en esta especificación.
Standard Definición inicial en un estándar ECMA. Especifica que new es obligatorio.
ECMAScript (ECMA-262)
La definición de 'ArrayBuffer' en esta especificación.
Living Standard  

Compatibilidad con navegadores

BCD tables only load in the browser

Notas de compatibilidad

Desde el ECMAScript 2015, los constructores de ArrayBuffer requieren ser instanciados usando el operador new. Ejecutar el constructor de un ArrayBuffer como una funciónsin el new, lanzará un TypeError de ahora en adelante.

var dv = ArrayBuffer(10);
// TypeError: llamar al constructor ArrayBuffer sin new está prohibido
var dv = new ArrayBuffer(10);

Ver también