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

Le tableau typé Uint16Array permet de représenter un tableau d'entiers non signés représentés sur 16 bits, où l'ordre des octets correspond à celui de la plateforme utilisée. Si on souhaite contrôler l'ordre des octets utilisé (le « boutisme »), on utilisera un objet {{jsxref("DataView")}} à la place. 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 Uint16Array(); // apparu avec ES2017
new Uint16Array(longueur);
new Uint16Array(tableauTypé);
new Uint16Array(objet);
new Uint16Array(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", "Uint16Array.BYTES_PER_ELEMENT")}}
Cette propriété renvoie un nombre correspondant à la quantité d'octets pour un élément du tableau. Dans le cas d'Uint16Array, ce sera 2.
Uint16Array.length
La propriété de longueur statique qui vaut 3. Pour connaître le nombre d'élément, voir {{jsxref("TypedArray.prototype.length", "Uint16Array.prototype.length")}}.
{{jsxref("TypedArray.name", "Uint16Array.name")}}
Cette propriété renvoie la chaîne de caractères correspondant au nom du constructeur. Pour Uint16Array ce sera : "Uint16Array".
{{jsxref("TypedArray.prototype", "Uint16Array.prototype")}}
Le prototype des objets TypedArray.

Méthodes

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

Prototype Uint16Array

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

Propriétés

Uint16Array.prototype.constructor
Cette propriété renvoie la fonction qui a créé l'instance du prototype. Par défaut, ce sera le constructeur Uint16Array.
{{jsxref("TypedArray.prototype.buffer", "Uint16Array.prototype.buffer")}} {{readonlyInline}}
Cette propriété renvoie l'objet {{jsxref("ArrayBuffer")}} référencé par l'objet Uint16Array Elle est déterminée lors de la construction et est accessible uniquement en lecture seule.
{{jsxref("TypedArray.prototype.byteLength", "Uint16Array.prototype.byteLength")}} {{readonlyInline}}
Cette propriété renvoie la longueur, exprimée en octets, de l'objet Uint16Array à 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", "Uint16Array.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", "Uint16Array.prototype.length")}} {{readonlyInline}}
Cette propriété renvoie le nombre d'éléments contenus dans le tableau Uint16Array. Elle est déterminée lors de la construction et est accessible uniquement en lecture seule.

Méthodes

{{jsxref("TypedArray.copyWithin", "Uint16Array.prototype.copyWithin()")}}
Copie une suite d'éléments d'un tableau dans le tableau. Voir également {{jsxref("Array.prototype.copyWithin()")}}.
{{jsxref("TypedArray.entries", "Uint16Array.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", "Uint16Array.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", "Uint16Array.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", "Uint16Array.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", "Uint16Array.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", "Uint16Array.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", "Uint16Array.prototype.forEach()")}}
Appelle une fonction pour chacun des élément du tableau. Voir également {{jsxref("Array.prototype.forEach()")}}.
{{jsxref("TypedArray.includes", "Uint16Array.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", "Uint16Array.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", "Uint16Array.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", "Uint16Array.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", "Uint16Array.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", "Uint16Array.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", "Uint16Array.prototype.move()")}} {{non-standard_inline}} {{unimplemented_inline}}
Ancienne version, non-standard, de {{jsxref("TypedArray.copyWithin", "Uint16Array.prototype.copyWithin()")}}.
{{jsxref("TypedArray.reduce", "Uint16Array.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", "Uint16Array.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", "Uint16Array.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", "Uint16Array.prototype.set()")}}
Enregistre plusieurs valeurs dans le tableau typé à partir de valeurs d'un autre tableau.
{{jsxref("TypedArray.slice", "Uint16Array.prototype.slice()")}}
Extrait un fragment d'un tableau et renvoie ce fragment. Voir également {{jsxref("Array.prototype.slice()")}}.
{{jsxref("TypedArray.some", "Uint16Array.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", "Uint16Array.prototype.sort()")}}
Trie les éléments du tableau et renvoie ce tableau. Voir également {{jsxref("Array.prototype.sort()")}}.
{{jsxref("TypedArray.subarray", "Uint16Array.prototype.subarray()")}}
Renvoie un nouvel objet Uint16Array qui est le fragment du tableau courant, entre les indices de début et de fin donnés.
{{jsxref("TypedArray.values", "Uint16Array.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", "Uint16Array.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", "Uint16Array.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", "Uint16Array.prototype[@@iterator]()")}}
Renvoie un nouvel objet Array Iterator qui contient les valeurs correspondantes à chaque indice du tableau.

Exemples

Différentes façons de créer un objet Uint16Array :

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

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

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

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

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

Spécifications

Spécification État Commentaires
{{SpecName('Typed Array')}} {{Spec2('Typed Array')}} Englobée par ECMAScript 2015.
{{SpecName('ES2015', '#table-49', 'TypedArray constructors')}} {{Spec2('ES2015')}} 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 Uint16Array afin qu'il utilise l'opération ToIndex et qu'il puisse être utilisé sans argument.

Compatibilité des navigateurs

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

Notes de compatibilité

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

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

Voir aussi