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.
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
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
siarg
es una de las vistas de ArrayBuffer, como pueden ser los arrays tipados o unDataView
. Sino devuelvefalse
. ArrayBuffer.transfer(oldBuffer [, newByteLength])
-
Devuelve un nuevo
ArrayBuffer
cuyo contenido se toma de los datos deoldBuffer
y luego es truncado o extendido por cero pornewByteLength
.
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)- 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);