--- title: Uint8Array slug: Web/JavaScript/Reference/Global_Objects/Uint8Array tags: - Constructor - JavaScript - Reference - TypedArray - TypedArrays - Uint8Array translation_of: Web/JavaScript/Reference/Global_Objects/Uint8Array original_slug: Web/JavaScript/Reference/Objets_globaux/Uint8Array ---
{{JSRef}}

Le tableau typé Uint8Array représente un tableau d'entiers non signés, représentés sur 8 bits. Les éléments du tableau sont initialisés à 0. Une fois que le tableau est construit, on peut manipuler ses différents éléments grâce aux méthodes de l'objet ou grâce à la notation usuelle (avec les crochets).

Syntaxe

new Uint8Array(); // apparu avec ES2017
new Uint8Array(longueur);
new Uint8Array(tableauTypé);
new Uint8Array(objet);
new Uint8Array(tampon [, décalage [, longueur]]);

Pour plus d'informations sur la syntaxe du constructeur et le rôle des différents paramètres, voir la page TypedArray.

Propriétés

{{jsxref("TypedArray.BYTES_PER_ELEMENT", "Uint8Array.BYTES_PER_ELEMENT")}}
Cette propriété renvoie la taille d'un élément du tableau, en octets. En l'occurence, pour Uint8Array ce sera 1.
Uint8Array.length
La propriété de longueur statique qui vaut 3. Pour connaître le nombre d'élément, voir {{jsxref("TypedArray.prototype.length", "Uint8Array.prototype.length")}}.
{{jsxref("TypedArray.name", "Uint8Array.name")}}
Cette propriété renvoie la chaîne de caractères correspondant au nom du constructeur. Pour Uint8Array ce sera : "Uint8Array".
{{jsxref("TypedArray.prototype", "Uint8Array.prototype")}}
Le prototype des objets TypedArray.

Méthodes

{{jsxref("TypedArray.from", "Uint8Array.from()")}}
Cette méthode permet de créer un nouvel objet Uint8Array à partir d'un itérable ou d'un objet semblable à un tableau. Voir aussi {{jsxref("Array.from()")}}.
{{jsxref("TypedArray.of", "Uint8Array.of()")}}
Cette méthode permet de créer un nouvel objet Uint8Array à partir d'un nombre variables d'arguments. Voir aussi {{jsxref("Array.of()")}}.

Prototype Uint8Array

Tous les objets Uint8Array héritent de {{jsxref("TypedArray.prototype", "%TypedArray%.prototype")}}.

Propriétés

Uint8Array.prototype.constructor
Cette propriété renvoie la fonction qui a créé l'instance du prototype. Par défaut, ce sera le constructeur Uint8Array.
{{jsxref("TypedArray.prototype.buffer", "Uint8Array.prototype.buffer")}} {{readonlyInline}}
Cette propriété renvoie l'objet {{jsxref("ArrayBuffer")}} référencé par l'objet Uint8Array Elle est déterminée lors de la construction et est accessible uniquement en lecture seule.
{{jsxref("TypedArray.prototype.byteLength", "Uint8Array.prototype.byteLength")}} {{readonlyInline}}
Cette propriété renvoie la longueur, exprimée en octets, de l'objet Uint8Array à partir du début de l'objet {{jsxref("ArrayBuffer")}} correspondant. Elle est déterminée lors de la construction et est accessible uniquement en lecture seule.
{{jsxref("TypedArray.prototype.byteOffset", "Uint8Array.prototype.byteOffset")}} {{readonlyInline}}
Cette propriété renvoie le décalage, en nombre d'octets, entre le début du tableau typé courant et du début du {{jsxref("ArrayBuffer")}} correspondant. Elle est déterminée lors de la construction et est accessible uniquement en lecture seule.
{{jsxref("TypedArray.prototype.length", "Uint8Array.prototype.length")}} {{readonlyInline}}
Cette propriété renvoie le nombre d'éléments contenus dans le tableau Uint8Array. Elle est déterminée lors de la construction et est accessible uniquement en lecture seule.

Méthodes

{{jsxref("TypedArray.copyWithin", "Uint8Array.prototype.copyWithin()")}}
Copie une suite d'éléments d'un tableau dans le tableau. Voir également {{jsxref("Array.prototype.copyWithin()")}}.
{{jsxref("TypedArray.entries", "Uint8Array.prototype.entries()")}}
Renvoie un nouvel objet Array Iterator qui contient les paires clé/valeur pour chaque indice du tableau. Voir également {{jsxref("Array.prototype.entries()")}}.
{{jsxref("TypedArray.every", "Uint8Array.prototype.every()")}}
Teste si l'ensemble des éléments du tableau remplissent une certaine condition donnée par une fonction de test. Voir également {{jsxref("Array.prototype.every()")}}.
{{jsxref("TypedArray.fill", "Uint8Array.prototype.fill()")}}
Remplit les éléments d'un tableau avec une certaine valeur pour les éléments compris entre un indice de début et un indice de fin. Voir également {{jsxref("Array.prototype.fill()")}}.
{{jsxref("TypedArray.filter", "Uint8Array.prototype.filter()")}}
Crée un nouveau tableau dont tous les éléments proviennent de ce tableau et respectent une condition fournie par une fonction de test. Voir également {{jsxref("Array.prototype.filter()")}}.
{{jsxref("TypedArray.find", "Uint8Array.prototype.find()")}}
Renvoie une valeur trouvée dans le tableau s'il existe un élément du tableau qui satisfait une condition fournie par une fonction de test, s'il n'y a pas de tel élément undefined sera renvoyé. Voir également {{jsxref("Array.prototype.find()")}}.
{{jsxref("TypedArray.findIndex", "Uint8Array.prototype.findIndex()")}}
Renvoie l'indice d'un élément qui satisfait une condition fournie par une fonction de test, si aucun élément ne remplit la condition -1 sera renvoyé. Voir également {{jsxref("Array.prototype.findIndex()")}}.
{{jsxref("TypedArray.forEach", "Uint8Array.prototype.forEach()")}}
Appelle une fonction pour chacun des élément du tableau. Voir également {{jsxref("Array.prototype.forEach()")}}.
{{jsxref("TypedArray.includes", "Uint8Array.prototype.includes()")}}
Détermine si le tableau typé contient un élément donné. Cette méthode renvoie true ou false selon le cas de figure. Voir également {{jsxref("Array.prototype.includes()")}}.
{{jsxref("TypedArray.indexOf", "Uint8Array.prototype.indexOf()")}}
Renvoie le premier indice (le plus petit) d'un élément du tableau qui est égal à la valeur fournie. Si aucun élément ne correspond, la valeur -1 sera renvoyée. Voir également {{jsxref("Array.prototype.indexOf()")}}.
{{jsxref("TypedArray.join", "Uint8Array.prototype.join()")}}
Fusionne l'ensemble des éléments du tableau en une chaîne de caractères. Voir également {{jsxref("Array.prototype.join()")}}.
{{jsxref("TypedArray.keys", "Uint8Array.prototype.keys()")}}
Renvoie un nouvel objet Array Iterator qui contient les clés de chaque indice du tableau. Voir également {{jsxref("Array.prototype.keys()")}}.
{{jsxref("TypedArray.lastIndexOf", "Uint8Array.prototype.lastIndexOf()")}}
Renvoie le dernier indice (le plus élevé) d'un élément du tableau qui est égal à la valeur fournie. Si aucun élément ne correspond, la valeur -1 sera renvoyée. Voir également {{jsxref("Array.prototype.lastIndexOf()")}}.
{{jsxref("TypedArray.map", "Uint8Array.prototype.map()")}}
Crée un nouveau tableau dont les éléments sont les images des éléments du tableau courant par une fonction donnée. Voir également {{jsxref("Array.prototype.map()")}}.
{{jsxref("TypedArray.move", "Uint8Array.prototype.move()")}} {{non-standard_inline}} {{unimplemented_inline}}
Ancienne version, non-standard, de {{jsxref("TypedArray.copyWithin", "Uint8Array.prototype.copyWithin()")}}.
{{jsxref("TypedArray.reduce", "Uint8Array.prototype.reduce()")}}
Applique une fonction sur un accumulateur et chaque élément du tableau (de gauche à droite) afin de réduire le tableau en une seule valeur. Voir également {{jsxref("Array.prototype.reduce()")}}.
{{jsxref("TypedArray.reduceRight", "Uint8Array.prototype.reduceRight()")}}
Applique une fonction sur un accumulateur et chaque élément du tableau (de droite à gauche) afin de réduire le tableau en une seule valeur. Voir également {{jsxref("Array.prototype.reduceRight()")}}.
{{jsxref("TypedArray.reverse", "Uint8Array.prototype.reverse()")}}
Inverse l'ordre des éléments d'un tableau. Le premier élément du tableau devient le dernier et le dernier devient le premier (et ainsi de suite). Voir également {{jsxref("Array.prototype.reverse()")}}.
{{jsxref("TypedArray.set", "Uint8Array.prototype.set()")}}
Enregistre plusieurs valeurs dans le tableau typé à partir de valeurs d'un autre tableau.
{{jsxref("TypedArray.slice", "Uint8Array.prototype.slice()")}}
Extrait un fragment d'un tableau et renvoie ce fragment. Voir également {{jsxref("Array.prototype.slice()")}}.
{{jsxref("TypedArray.some", "Uint8Array.prototype.some()")}}
Renvoie true si au moins un des éléments remplit une condition donnée par une fonction de test. Voir également {{jsxref("Array.prototype.some()")}}.
{{jsxref("TypedArray.sort", "Uint8Array.prototype.sort()")}}
Trie les éléments du tableau et renvoie ce tableau. Voir également {{jsxref("Array.prototype.sort()")}}.
{{jsxref("TypedArray.subarray", "Uint8Array.prototype.subarray()")}}
Renvoie un nouvel objet Uint8Array qui est le fragment du tableau courant, entre les indices de début et de fin donnés.
{{jsxref("TypedArray.values", "Uint8Array.prototype.values()")}}
Renvoie un nouvel objet Array Iterator qui contient les valeurs correspondantes à chaque indice du tableau. Voir également {{jsxref("Array.prototype.values()")}}.
{{jsxref("TypedArray.toLocaleString", "Uint8Array.prototype.toLocaleString()")}}
Renvoie une chaîne de caractères localisée qui représente le tableau et ses éléments. Voir également {{jsxref("Array.prototype.toLocaleString()")}}.
{{jsxref("TypedArray.toString", "Uint8Array.prototype.toString()")}}
Renvoie une chaîne de caractère qui représente le tableau et ses éléments. Voir également {{jsxref("Array.prototype.toString()")}}.
{{jsxref("TypedArray.@@iterator", "Uint8Array.prototype[@@iterator]()")}}
Renvoie un nouvel objet Array Iterator qui contient les valeurs correspondantes à chaque indice du tableau.

Exemples

Différentes façons de construire un objet Uint8Array :

// Construction à partir d'une longueur
var uint8 = new Uint8Array(2);
uint8[0] = 42;
console.log(uint8[0]); // 42
console.log(uint8.length); // 2
console.log(uint8.BYTES_PER_ELEMENT); // 1

// Construction à partir d'un tableau
var arr = new Uint8Array([21,31]);
console.log(arr[1]); // 31

// Construction à partir d'un tableau typé
var x = new Uint8Array([21, 31]);
var y = new Uint8Array(x);
console.log(y[0]); // 21

// Construction à partir d'un ArrayBuffer
var buffer = new ArrayBuffer(8);
var z = new Uint8Array(buffer, 1, 4);

// Construction à partir d'un itérable
var iterable = function*(){ yield* [1,2,3]; }();
var uint8 = new Uint8Array(iterable);
// Uint8Array[1, 2, 3]

Spécifications

Spécification État Commentaires
{{SpecName('Typed Array')}} {{Spec2('Typed Array')}} Englobée par ECMAScript 2015.
{{SpecName('ES6', '#table-49', 'TypedArray constructors')}} {{Spec2('ES6')}} Définition initiale au sein d'un standard ECMA. new est obligatoire.
{{SpecName('ESDraft', '#table-49', 'TypedArray constructors')}} {{Spec2('ESDraft')}} ECMAScript 2017 a modifié le constructeur Uint8Array afin qu'il utilise l'opération ToIndex et qu'il puisse être utilisé sans argument.

Compatibilité des navigateurs

{{Compat("javascript.builtins.Uint8Array")}}

Notes de compatibilité

À partir d'ECMAScript 2015 (ES6), Uint8Array doit être utilisé avec {{jsxref("Opérateurs/L_opérateur_new", "new")}}. Appeler un constructeur Uint8Array comme une fonction, sans new, provoquera une exception {{jsxref("TypeError")}}.

var dv = Uint8Array([1, 2, 3]);
// TypeError: calling a builtin Uint8Array constructor
// without new is forbidden
var dv = new Uint8Array([1, 2, 3]);

Voir aussi