Manuel de référence tableaux typés JavaScript

Tableaux typés JavaScript

En JavaScript, les tableaux typés sont des tampons de données binaires similaires à des tableaux.

Il n'existe pas de propriété ou d'objet JavaScript nommé TypedArray, mais les propriétés et les méthodes peuvent être utilisées avec les objets de tableaux typés :

Instance

const myArr = new Int8Array(10);

Essayez-le vous-même

Objet de tableau typé

Objet Type de données Portée
Int8Array Entier avec signe (octet) -128/127
Uint8Array Entier sans signe (octet de huit bits) 0/255
Uint8ClampedArray Entier sans signe (octet de huit bits) 0/255
Int16Array Entier court -32768/32767
Uint16Array Entier court sans signe 0/65535
Int32Array Entier long avec signe -231/231-1
Uint32Array Entier long sans signe 0/232
Float32Array Flottant - 7 chiffres significatifs 1.2x10-38/3.4x1038
Float64Array Flottant double - 16 chiffres significatifs 5.0x10-324/1.8x10308
BigInt64Array Nombre de grand entier avec signe -263/263-1
BigUint64Array Grand entier non signé 0/264

Explication

Les tableaux typés ne sont pas des tableaux.

Le retour de isArray() sur les tableaux typés est false.

Les tableaux typés ne prennent pas en charge de nombreuses méthodes de tableau (comme push et pop).

Les tableaux typés sont des objets similaires à des tableaux, utilisés pour stocker des données binaires en mémoire.

Méthodes et attributs des tableaux typés

Méthode / attribut Description
BYTES_PER_ELEMENT Calcule l'attribut du nombre d'octets utilisés pour stocker un élément.
fill() Remplit tous les éléments avec une valeur.
find() Retourne l'élément satisfaisant la condition pour la première fois.
name Retourne le nom du tableau typé.
of() Créez un tableau typé à partir d'un tableau.
some() Retourne true si un élément satisfait la condition.

Comparaison entre Uint8Array et Uint8ClampedArray

La différence entre Uint8Array et Uint8ClampedArray réside dans la manière d'ajouter des valeurs.

Si un élément de Uint8ClampedArray est réglé sur une valeur en dehors de l'intervalle 0-255, il sera par défaut 0 ou 255.

Les tableaux typés prennent uniquement les 8 premiers bits.

Les avantages des tableaux typés

Les tableaux typés fournissent une méthode de traitement des données binaires, aussi efficace que les tableaux en C.

Les tableaux typés sont de la mémoire brute, donc JavaScript peut les transmettre directement à n'importe quelle fonction sans avoir à les convertir en une autre représentation.

Les tableaux typés sont beaucoup plus rapides que les tableaux normaux, ils sont utilisés pour transmettre des données à des fonctions qui peuvent utiliser des données binaires originales (jeux informatiques, WebGL, Canvas, API de fichiers, API de médias).

L'API navigateur prend en charge les tableaux typés

Instance de l'API Fetch

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

Instance 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;

Support du navigateur

typedArray C'est une caractéristique ECMAScript6 (ES6).

Tous les navigateurs modernes prennent en charge ES6 (JavaScript 2015).

Chrome Edge Firefox Safari Opera
Chrome Edge Firefox Safari Opera
Oui Oui Oui Oui Oui

Internet Explorer 11 (et versions antérieures) ne prend pas en charge typedArray.