Manual de referencia de arrays tipificados de JavaScript

Arrays tipificados de JavaScript

En Javascript, los arrays tipificados son buzones de datos binarios similares a arrays.

No existe una propiedad o objeto llamado TypedArray en JavaScript, pero las propiedades y métodos pueden utilizarse junto con el objeto de array tipificado:

instancia

const myArr = new Int8Array(10);

prueba por tu cuenta

objeto de array tipificado

objeto tipo de datos rango
Int8Array entero con signo (byte) -128/127
Uint8Array entero sin signo (octeto) 0/255
Uint8ClampedArray entero sin signo (octeto) 0/255
Int16Array entero corto -32768/32767
Uint16Array entero corto sin signo 0/65535
Int32Array entero largo con signo -231/231-1
Uint32Array entero largo sin signo 0/232
Float32Array flotante - 7 dígitos significativos 1.2x10-38/3.4x1038
Float64Array flotante de doble precisión - 16 dígitos significativos 5.0x10-324/1.8x10308
BigInt64Array entero grande con signo -263/263-1
BigUint64Array Entero grande sin signo 0/264

Explicación

Los arrays tipificados no son arrays.

El método isArray() en arrays tipificados devuelve false.

Los arrays tipificados no admiten muchos métodos de array (como push y pop).

Los arrays tipificados son objetos similares a arrays, utilizados para almacenar datos binarios en la memoria.

Métodos y propiedades de Typed Array

Método / Propiedad Descripción
BYTES_PER_ELEMENT Calcular la propiedad del atributo de bytes utilizados para almacenar un elemento.
fill() Rellena todos los elementos con un valor.
find() Devuelve el primer elemento que cumple con la condición.
name Devuelve el nombre del array tipificado.
of() Crear un array tipificado a partir de un array.
some() Si un elemento cumple con la condición, se devuelve true.

Comparación entre Uint8Array y Uint8ClampedArray

La diferencia entre Uint8Array y Uint8ClampedArray radica en cómo se agregan los valores.

Si se establece un elemento de Uint8ClampedArray fuera del rango de 0-255, se establecerá por defecto en 0 o 255.

Los arrays tipificados solo tomarán los primeros 8 bits.

Ventajas de los arrays tipificados

Los arrays tipificados proporcionan un método para manejar datos binarios de manera tan efectiva como lo haría un array en C.

Los arrays tipificados son memoria original, por lo que JavaScript puede pasarlos directamente a cualquier función sin necesidad de convertir los datos a otra representación.

Los arrays tipificados son mucho más rápidos que los arrays normales, se utilizan para pasar datos a funciones que pueden usar datos binarios originales (juegos de computadora, WebGL, Canvas, API de archivos, API de medios).

El API del navegador admite tipos de arrays

Instancia de Fetch API

fetch(url)
.then(request => request.arrayBuffer())
.then(arrayBuffer =>...);

Instancia de Canvas

const canvas = document.getElementById('my_canvas');
const context = canvas.getContext('2d');
const imageData = context.getImageData(0, 0, canvas.width, canvas.height);
const uint8ClampedArray = imageData.data;

Compatibilidad del navegador

typedArray Es una característica de ECMAScript6 (ES6).

Todos los navegadores modernos admiten ES6 (JavaScript 2015).

Chrome Edge Firefox Safari Opera
Chrome Edge Firefox Safari Opera

Internet Explorer 11 (y versiones anteriores) no es compatible typedArray.