ArrayBuffer
L'objet ArrayBuffer est utilisé afin de représenter un tampon (buffer) de données binaires de longueur fixe de façon générique.
Il s'agit d'un tableau d'octets. Il n'est pas possible de manipuler directement le contenu d'un ArrayBuffer, la manipulation se fait de façon indirecte en créant un tableau typé ou un objet DataView qui permet de représenter le tampon dans un format donné qui permet de lire/écrire des contenus dans le tampon de mémoire.
Le constructeur ArrayBuffer() permet de créer un nouvel objet ArrayBuffer dont la longueur, en octets, est fournie par l'argument. Il est aussi possible d'obtenir un tableau typé à partir de données existantes, par exemple depuis une chaîne en Base64 ou depuis un fichier local.
Constructeur
ArrayBuffer()-
Crée un nouvel objet
ArrayBuffer.
Propriétés statiques
get ArrayBuffer[@@species]-
La fonction de construction utilisée pour créer des objets dérivés.
Méthodes statiques
ArrayBuffer.isView(arg)-
Renvoie
truesiargest une des vues sur le tableau typé sous la forme d'un objet de tableau typé ouDataViewetfalsesinon.
Propriétés des instances
ArrayBuffer.prototype.byteLength-
La taille exprimée en octets, et en lecture seule, de l'objet
ArrayBuffer. Elle est établie à la construction du tableau et ne peut pas être changée.
Méthodes des instances
ArrayBuffer.prototype.slice()-
Renvoie un nouvel objet
ArrayBufferdont le contenu est une copie des octets de l'objetArrayBuffercourant entre l'indice de début (inclus) et l'indice de fin (exclus), passés en argument. Si les valeurs fournies pour l'indice de début ou de fin sont négatives, elles expriment un indice compté depuis la fin du tableau (plutôt que depuis le début).
Exemples
Créer un objet ArrayBuffer
Dans cet exemple, on crée un tampon de mémoire sur 8 octets avec une vue Int32Array qui porte sur le tampon :
js
const buffer = new ArrayBuffer(8);
const view = new Int32Array(buffer);
Spécifications
| Specification |
|---|
| ECMAScript Language Specification # sec-arraybuffer-objects |
Compatibilité des navigateurs
BCD tables only load in the browser