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
Permite añadir propiedades a todos los objetos ArrayBuffer.

Métodos

ArrayBuffer.isView(arg)
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])
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.

Propiedades

ArrayBuffer.prototype.constructor
Especifica la función que se encarga de crear el prototipo del objeto. El valor inicial es el constructor incluido en el estándar ArrayBuffer.
ArrayBuffer.prototype.byteLength Read only
El tamaño, en bytes, del array. Este valor se establece al construir el objeto y no se puede modificar. Sólo lectura.

Métodos

ArrayBuffer.prototype.slice()
Retorna un nuevo ArrayBuffer cuyo contenido es una copia los bytes de este ArrayBuffer desde begin, incluido, hasta  end, no incluido. Si beginend son negativos, éstos hacen referencia a un índice que comienza a partir del final del array.
ArrayBuffer.slice()
Tiene la misma funcionalidad que ArrayBuffer.prototype.slice().

Ejemplo

En este ejemplo creamos un buffer de 8-bytes con una vista del tipo Int32Array 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