| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer | [Back] [Original] |
Get to know MDN better
Cette page a t traduite partir de l'anglais par la communaut. Vous pouvez contribuer en rejoignant la communaut francophone sur MDN Web Docs.
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 bnficier de prise en charge variables.
L'objet ArrayBuffer est utilis afin de reprsenter un tampon (buffer) de donnes binaires de longueur fixe de faon gnrique.
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 faon indirecte en crant un tableau typ ou un objet DataView qui permet de reprsenter le tampon dans un format donn qui permet de lire/crire des contenus dans le tampon de mmoire.
Le constructeur ArrayBuffer() permet de crer 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 donnes existantes, par exemple depuis une chane en Base64 ou depuis un fichier local.
Un objet ArrayBuffer peut tre redimensionnable en incluant l'option maxByteLength lors de l'appel au constructeur ArrayBuffer(). Vous pouvez savoir si un ArrayBuffer est redimensionnable et connatre sa taille maximale en consultant ses proprits resizable et maxByteLength. Vous pouvez attribuer une nouvelle taille un ArrayBuffer redimensionnable avec resize(). Les nouveaux octets sont initialiss 0.
Ces fonctionnalits rendent le redimensionnement des ArrayBuffer plus efficace sinon, il faut copier le tampon dans une nouvelle taille. Cela rapproche JavaScript de WebAssembly (la mmoire linaire Wasm peut tre redimensionne avec WebAssembly.Memory.prototype.grow()).
Un objet ArrayBuffer peut tre transfr entre diffrents contextes d'excution, comme les Web Workers ou les Service Workers, en utilisant l'algorithme de clonage structur. Cela se fait en passant l'ArrayBuffer comme objet transfrable lors d'un appel Worker.postMessage() ou ServiceWorker.postMessage(). En JavaScript, vous pouvez aussi transfrer la mmoire d'un ArrayBuffer un autre avec transfer() ou transferToFixedLength().
Quand un ArrayBuffer est transfr, sa copie d'origine devient dtache cela signifie qu'il n'est plus utilisable. tout moment, il n'existe qu'une seule copie de l'ArrayBuffer qui a accs la mmoire sous-jacente. Un tampon dtach a les comportements suivants :
byteLength vaut 0 (dans le tampon et les vues de tableau typ associes).resize() et slice() lvent une exception TypeError lorsqu'on les appelle. Les mthodes des vues de tableau typ associes lvent aussi une TypeError.Vous pouvez vrifier si un ArrayBuffer est dtach grce sa proprit detached.
ArrayBuffer()Cre un nouvel objet ArrayBuffer.
ArrayBuffer[Symbol.species]La fonction de construction utilise pour crer des objets drivs.
ArrayBuffer.isView()Retourne 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.
Ces proprits sont dfinies sur ArrayBuffer.prototype et partages par toutes les instances de ArrayBuffer.
ArrayBuffer.prototype.byteLengthLa taille, en octets, de l'objet ArrayBuffer. Cette valeur est tablie la construction du tableau et ne peut tre modifie qu'en utilisant la mthode ArrayBuffer.prototype.resize() si l'objet ArrayBuffer est redimensionnable.
ArrayBuffer.prototype.constructorLa fonction de construction qui a cr l'objet d'instance. Pour les instances de ArrayBuffer, la valeur initiale est le constructeur ArrayBuffer.
ArrayBuffer.prototype.detached Lecture seuleRetourne true si l'objet ArrayBuffer a t dtach (transfr), ou false sinon.
ArrayBuffer.prototype.maxByteLengthLa longueur maximale, en octets, laquelle l'objet ArrayBuffer peut tre redimensionn. Cette valeur est tablie la construction du tableau et ne peut pas tre modifie.
ArrayBuffer.prototype.resizable Lecture seuleRetourne true si l'objet ArrayBuffer peut tre redimensionn, ou false sinon.
ArrayBuffer.prototype[Symbol.toStringTag]La valeur initiale de la proprit [Symbol.toStringTag] est la chane de caractres "ArrayBuffer". Cette proprit est utilise dans Object.prototype.toString().
ArrayBuffer.prototype.resize()Redimensionne l'objet ArrayBuffer la taille dfinie, en octets.
ArrayBuffer.prototype.slice()Retourne un nouvel objet ArrayBuffer dont le contenu est une copie des octets de cet objet ArrayBuffer depuis begin (inclus) jusqu' end (exclus). Si begin ou end est ngatif, cela indique un indice partir de la fin du tableau, plutt qu' partir du dbut.
ArrayBuffer.prototype.transfer()Cre un nouvel objet ArrayBuffer avec le mme contenu d'octets que ce tampon, puis dtache ce tampon.
ArrayBuffer.prototype.transferToFixedLength()Cre un nouvel objet ArrayBuffer non redimensionnable avec le mme contenu d'octets que ce tampon, puis dtache ce tampon.
ArrayBufferDans cet exemple, on cre un tampon de mmoire sur 8 octets avec une vue Int32Array qui porte sur le tampon :
const buffer = new ArrayBuffer(8);
const view = new Int32Array(buffer);
| Spcification |
|---|
| ECMAScript 2027 LanguageSpecification # sec-arraybuffer-objects |
SharedArrayBufferArrayBuffer dans la bibliothque core-jsCette page a t modifie le 5 nov. 2025 par les contributeurices du MDN.
ArrayBufferObject/FunctionObject.prototype.__defineGetter__()Object.prototype.__defineSetter__()Object.prototype.__lookupGetter__()Object.prototype.__lookupSetter__()Object.prototype.hasOwnProperty()Object.prototype.isPrototypeOf()Object.prototype.propertyIsEnumerable()Object.prototype.toLocaleString()Object.prototype.toString()Object.prototype.valueOf()Certaines parties de ce contenu sont protges par le droit d'auteur 19982026 des contributeurs individuels de mozilla.org. Contenu disponible sous une licence Creative Commons.
| Web Proxy Viewer | New URL | Original Page |