We're looking for a user researcher to understand the needs of developers and designers. Is this you or someone you know? Check out the post: https://mzl.la/2IGzdXS

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 Latest Draft (ECMA-262)
La definición de 'ArrayBuffer' en esta especificación.
Draft  

Compatibilidad con navegadores

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Soporte básico7 Si41011.65.1
ArrayBuffer() without new throws Si Si44 No Si ?
byteLength7 Si41011.65.1
isView Si Si2911 Si Si
prototype7 Si41011.65.1
slice Si Si12111 Si6
transfer No No No No No No
@@species ? ?48 ? ? ?
FeatureAndroid webviewChrome para AndroidEdge mobileFirefox para AndroidOpera AndroidiOS SafariSamsung Internet
Soporte básico4 Si Si411.64.2 Si
ArrayBuffer() without new throws ? ? ?44 ? ? ?
byteLength4 Si Si411.64.2 Si
isView Si Si Si29 Si Si Si
prototype4 Si Si411.64.2 Si
slice Si Si Si141 Si6 Si
transfer No No No No No No No
@@species ? ? ?48 ? ? ?

1. The non-standard ArrayBuffer.slice() method has been removed in Firefox 53 (but the standardized version ArrayBuffer.prototype.slice() is kept.

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

Etiquetas y colaboradores del documento

Colaboradores en esta página: lajaso, joseluisq, mlealvillarreal, AzazelN28, tamat
Última actualización por: lajaso,