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. La manipulation du contenu d'un ArrayBuffer 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.
Syntaxe
new ArrayBuffer(longueur)
Paramètres
longueur- La taille, exprimée en octets, du tableau représentant le tampon.
Valeur de retour
Un nouvel objet ArrayBuffer de la taille donnée. Ses éléments sont initialisés à 0.
Description
Le constructeur ArrayBuffer crée une nouvelle instance d'ArrayBuffer dont la longueur est celle donnée lors de la construction.
Obtenir un tampon mémoire depuis des données existantes
Propriétés
ArrayBuffer.length- La longueur du constructeur
ArrayBuffer. Elle vaut 1. ArrayBuffer.prototype- Cette propriété permet d'ajouter des propriétés à tous les objets
ArrayBuffer.
Méthodes
ArrayBuffer.isView(arg)- Cette méthode renvoie
truesiargest une des vues sur l'ArrayBuffertelle qu'un tableau typé ou un objetDataView, sinon elle renvoiefalse. ArrayBuffer.transfer(ancienTampon [, nouvelleLongueur])-
Cette méthode renvoie un nouvel objet
ArrayBufferdont le contenu est transféré depuis les données deancienTamponet qui est ensuite tronqué ou rallongé avec des zéros pour que la taille du nouveau tampon soitnouvelleLongueur.
Les instances d'ArrayBuffer
Toutes les instances d'ArrayBuffer héritent de ArrayBuffer.prototype.
Propriétés
Méthodes
Exemple
Dans cet exemple, on crée un tampon sur 8 octets avec une vue Int32Array qui fait référence à ce tampon :
var tampon = new ArrayBuffer(8); var vue = new Int32Array(tampon);
Spécifications
| Spécification | Statut | Commentaires |
|---|---|---|
| Typed Array Specification | Obsolete | Remplacée par ECMAScript 6. |
| ECMAScript 2015 (6th Edition, ECMA-262) La définition de 'ArrayBuffer' dans cette spécification. |
Standard | Définition initiale au sein d'un standard ECMA. |
Compatibilité des navigateurs
| Fonctionnalité | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| Support simple | 7.0 | 4.0 (2) | 10 | 11.6 | 5.1 |
| Fonctionnalité | Android | Chrome pour Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| Support simple | 4.0 | (Oui) | 4.0 (2) | 10 | 11.6 | 4.2 |