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
new ArrayBuffer(length)
new ArrayBuffer(length, options)
Paramètres
length-
La taille, en octets, du tableau de mémoire tampon à créer.
optionsFacultatif-
Un objet qui peut contenir les propriétés suivantes :
maxByteLengthFacultatif-
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 :
lengthoumaxByteLengthest supérieur àNumber.MAX_SAFE_INTEGER(≥ 253) ou négatif.lengthest 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 :
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() :
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> |