Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

Constructeur ArrayBuffer()

Baseline Widely available *

Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis ⁨juillet 2015⁩.

* Certaines parties de cette fonctionnalité peuvent bénéficier de prise en charge variables.

Le constructeur ArrayBuffer() crée des objets ArrayBuffer.

Exemple interactif

// Crée un objet ArrayBuffer avec une taille en octets
const buffer = new ArrayBuffer(8);

console.log(buffer.byteLength);
// Résultat attendu : 8

Syntaxe

js
new ArrayBuffer(length)
new ArrayBuffer(length, options)

Note : Vous ne pouvez construire ArrayBuffer() qu'avec new. Tenter de l'appeler sans new déclenche une exception TypeError.

Paramètres

length

La taille, en octets, du tableau de mémoire tampon à créer.

options Facultatif

Un objet qui peut contenir les propriétés suivantes :

maxByteLength Facultatif

La taille maximale, en octets, à laquelle le tableau de mémoire tampon peut être redimensionné.

Valeur de retour

Un nouvel objet ArrayBuffer de la taille définie, avec sa propriété maxByteLength définie à la valeur de maxByteLength si elle a été fournie. Son contenu est initialisé à 0.

Exceptions

RangeError

Levée dans l'un des cas suivants :

  • length ou maxByteLength est supérieur à Number.MAX_SAFE_INTEGER (≥ 253) ou négatif.
  • length est supérieur à maxByteLength.

Exemples

Créer un objet ArrayBuffer

Dans cet exemple, on crée un tampon de 8 octets avec une vue Int32Array qui y fait référence :

js
const buffer = new ArrayBuffer(8);
const view = new Int32Array(buffer);

Créer un ArrayBuffer redimensionnable

Dans cet exemple, on crée un tampon de 8 octets qui peut être redimensionné jusqu'à une taille maximale de 16 octets, puis on le redimensionne à 12 octets avec resize() :

js
const buffer = new ArrayBuffer(8, { maxByteLength: 16 });

buffer.resize(12);

Note : Il est recommandé de définir maxByteLength à la plus petite valeur possible pour votre cas d'utilisation. Cette valeur ne doit jamais dépasser 1073741824 (1 Go) afin de réduire le risque d'erreurs de mémoire insuffisante.

Spécifications

Specification
ECMAScript® 2026 Language Specification
# sec-arraybuffer-constructor

Compatibilité des navigateurs

Voir aussi