ArrayBuffer

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

* Some parts of this feature may have varying levels of support.

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 true si arg est une des vues sur le tableau typé sous la forme d'un objet de tableau typé ou DataView et false sinon.

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 ArrayBuffer dont le contenu est une copie des octets de l'objet ArrayBuffer courant 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® 2025 Language Specification
# sec-arraybuffer-objects

Compatibilité des navigateurs

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
ArrayBuffer
[Symbol.species]
ArrayBuffer() constructor
maxByteLength option
byteLength
detached
isView
maxByteLength
resizable
resize
slice
transfer
transferToFixedLength

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
See implementation notes.

Voir aussi