Uint8ClampedArray
=================

Le tableau typé **`Uint8ClampedArray`** permet de représenter un tableau d'entiers non signés représentés sur 8 bits, dont les valeurs sont ramenées entre 0 et 255. Si une valeur non-entière est fournie, elle sera arrondie à l'entier le plus proche. 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).

Constructeur
------------

`Uint8ClampedArray()`

Crée un nouvel objet `Uint8ClampedArray`.

Propriétés statiques
--------------------

`Uint8ClampedArray.BYTES_PER_ELEMENT`

Cette propriété renvoie la taille d'un élément du tableau, en octets. En l'occurrence, pour `Uint8ClampedArray` ce sera `1`.

`Uint8ClampedArray.name`

Cette propriété renvoie la chaîne de caractères correspondant au nom du constructeur. Pour `Uint8ClampedArray` ce sera : "`Uint8ClampedArray`".

Méthodes statiques
------------------

`Uint8ClampedArray.from()`

Cette méthode permet de créer un nouvel objet `Uint8ClampedArray` à partir d'un itérable ou d'un objet semblable à un tableau. Voir aussi `Array.from()`.

`Uint8ClampedArray.of()`

Cette méthode permet de créer un nouvel objet `Uint8ClampedArray` à partir d'un nombre variable d'arguments. Voir aussi `Array.of()`.

Propriétés des instances
------------------------

`Uint8ClampedArray.prototype.buffer`

Cette propriété renvoie l'objet `ArrayBuffer` référencé par l'objet `Uint8ClampedArray`. Elle est déterminée lors de la construction et est accessible uniquement en **lecture seule**.

`Uint8ClampedArray.prototype.byteLength`

Cette propriété renvoie la longueur, exprimée en octets, de l'objet `Uint8ClampedArray` à partir du début de l'objet `ArrayBuffer` correspondant. Elle est déterminée lors de la construction et est accessible uniquement en **lecture seule**.

`Uint8ClampedArray.prototype.byteOffset`

Cette propriété renvoie le décalage, en nombre d'octets, entre le début du tableau typé courant et du début du `ArrayBuffer` correspondant. Elle est déterminée lors de la construction et est accessible uniquement en **lecture seule**.

`Uint8ClampedArray.prototype.length`

Cette propriété renvoie le nombre d'éléments contenus dans le tableau `Uint8ClampedArray`. Elle est déterminée lors de la construction et est accessible uniquement en **lecture seule**.

Méthodes des instances
----------------------

`Uint8ClampedArray.prototype.copyWithin()`

Copie une suite d'éléments d'un tableau dans le tableau. Voir également `Array.prototype.copyWithin()`.

`Uint8ClampedArray.prototype.entries()`

Renvoie un nouvel *itérateur de tableau* qui contient les paires clé/valeur pour chaque indice du tableau. Voir également `Array.prototype.entries()`.

`Uint8ClampedArray.prototype.every()`

Teste si l'ensemble des éléments du tableau remplissent une certaine condition donnée par une fonction de test. Voir également `Array.prototype.every()`.

`Uint8ClampedArray.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 `Array.prototype.fill()`.

`Uint8ClampedArray.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 `Array.prototype.filter()`.

`Uint8ClampedArray.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 `Array.prototype.find()`.

`Uint8ClampedArray.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 `Array.prototype.findIndex()`.

`Uint8ClampedArray.prototype.forEach()`

Appelle une fonction pour chacun des éléments du tableau. Voir également `Array.prototype.forEach()`.

`Uint8ClampedArray.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 `Array.prototype.includes()`.

`Uint8ClampedArray.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 `Array.prototype.indexOf()`.

`Uint8ClampedArray.prototype.join()`

Fusionne l'ensemble des éléments du tableau en une chaîne de caractères. Voir également `Array.prototype.join()`.

`Uint8ClampedArray.prototype.keys()`

Renvoie un nouvel *itérateur de tableau* qui contient les clés de chaque indice du tableau. Voir également `Array.prototype.keys()`.

`Uint8ClampedArray.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 `Array.prototype.lastIndexOf()`.

`Uint8ClampedArray.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 `Array.prototype.map()`.

`Uint8ClampedArray.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 `Array.prototype.reduce()`.

`Uint8ClampedArray.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 `Array.prototype.reduceRight()`.

`Uint8ClampedArray.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 `Array.prototype.reverse()`.

`Uint8ClampedArray.prototype.set()`

Enregistre plusieurs valeurs dans le tableau typé à partir de valeurs d'un autre tableau.

`Uint8ClampedArray.prototype.slice()`

Extrait un fragment d'un tableau et renvoie ce fragment. Voir également `Array.prototype.slice()`.

`Uint8ClampedArray.prototype.some()`

Renvoie `true` si au moins un des éléments remplit une condition donnée par une fonction de test. Voir également `Array.prototype.some()`.

`Uint8ClampedArray.prototype.sort()`

Trie les éléments du tableau et renvoie ce tableau. Voir également `Array.prototype.sort()`.

`Uint8ClampedArray.prototype.subarray()`

Renvoie un nouvel objet `Uint8ClampedArray` qui est le fragment du tableau courant, entre les indices de début et de fin donnés.

`Uint8ClampedArray.prototype.values()`

Renvoie un nouvel *itérateur de tableau* qui contient les valeurs correspondantes à chaque indice du tableau. Voir également `Array.prototype.values()`.

`Uint8ClampedArray.prototype.toLocaleString()`

Renvoie une chaîne de caractères localisée qui représente le tableau et ses éléments. Voir également `Array.prototype.toLocaleString()`.

`Uint8ClampedArray.prototype.toString()`

Renvoie une chaîne de caractères qui représente le tableau et ses éléments. Voir également `Array.prototype.toString()`.

`Uint8ClampedArray.prototype[@@iterator]()`

Renvoie un nouvel *itérateur de tableau* qui contient les valeurs correspondantes à chaque indice du tableau.

Exemples
--------

### Différentes façons de créer un objet `Uint8ClampedArray`


```js
// Construction à partir d'une longueur
let uintc8 = new Uint8ClampedArray(2);
uintc8[0] = 42;
uintc8[1] = 1337;
console.log(uintc8[0]); // 42
console.log(uintc8[1]); // 255 (valeur ramenée à 255)
console.log(uintc8.length); // 2
console.log(uintc8.BYTES\_PER\_ELEMENT); // 1

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

// Construction à partir d'un autre TypedArray
let x = new Uint8ClampedArray([21, 31]);
let y = new Uint8ClampedArray(x);
console.log(y[0]); // 21

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

// Construction à partir d'un itérable
let iterable = (function\* () {
  yield\* [1, 2, 3];
})();
let uintc8 = new Uint8ClampedArray(iterable);
// Uint8ClampedArray[1, 2, 3]
```

Spécifications
--------------

| Specification |
| --- |
| ECMAScript Language Specification # table-49 |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* Une prothèse d'émulation (*polyfill*) pour `Uint8ClampedArray` avec `core-js`
* Les tableaux typés en JavaScript
* `ArrayBuffer`
* `DataView`