diff options
| author | Masahiro FUJIMOTO <mfujimot@gmail.com> | 2021-09-04 00:46:12 +0900 |
|---|---|---|
| committer | Masahiro FUJIMOTO <mfujimot@gmail.com> | 2021-09-04 00:46:12 +0900 |
| commit | fe6f6abf2b7c497bf1f97f73a82dde7cf48eb79f (patch) | |
| tree | 51b7edfc370236684a203f4e69ae67bb7d24b549 /files/fr/web/javascript/reference/global_objects/arraybuffer/index.md | |
| parent | 04ea4edc83cc12142ed151bbea2c65cffc8e76f6 (diff) | |
| parent | eeb07fe338cdc90092841d717919f46f9d9e3ff9 (diff) | |
| download | translated-content-fe6f6abf2b7c497bf1f97f73a82dde7cf48eb79f.tar.gz translated-content-fe6f6abf2b7c497bf1f97f73a82dde7cf48eb79f.tar.bz2 translated-content-fe6f6abf2b7c497bf1f97f73a82dde7cf48eb79f.zip | |
Merge branch 'main' into 20210818-Glossary/Type
Diffstat (limited to 'files/fr/web/javascript/reference/global_objects/arraybuffer/index.md')
| -rw-r--r-- | files/fr/web/javascript/reference/global_objects/arraybuffer/index.md | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/files/fr/web/javascript/reference/global_objects/arraybuffer/index.md b/files/fr/web/javascript/reference/global_objects/arraybuffer/index.md new file mode 100644 index 0000000000..df2c70beba --- /dev/null +++ b/files/fr/web/javascript/reference/global_objects/arraybuffer/index.md @@ -0,0 +1,114 @@ +--- +title: ArrayBuffer +slug: Web/JavaScript/Reference/Global_Objects/ArrayBuffer +tags: + - ArrayBuffer + - Constructor + - JavaScript + - Reference + - TypedArrays +translation_of: Web/JavaScript/Reference/Global_Objects/ArrayBuffer +original_slug: Web/JavaScript/Reference/Objets_globaux/ArrayBuffer +--- +{{JSRef}} + +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. C'est un tableau d'octets. La manipulation du contenu d'un `ArrayBuffer` se fait de façon indirecte en créant un [tableau typé](/fr/docs/Web/JavaScript/Reference/Objets_globaux/TypedArray) ou un objet {{jsxref("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. + +{{EmbedInteractiveExample("pages/js/arraybuffer-constructor.html")}} + +## 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. + +### Exceptions + +Une exception {{jsxref("RangeError")}} est levée lorsque l'argument `longueur` est supérieur à {{jsxref("Number.MAX_SAFE_INTEGER")}} (soit 2^53) ou s'il est négatif. + +## 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 + +- [À partir d'une chaîne de caractères en Base 64](/fr/docs/Décoder_encoder_en_base64#Annexe_.3A_D.C3.A9coder_une_cha.C3.AEne_en_base64_en_un_objet_Uint8Array_ou_ArrayBuffer) +- [À partir d'un fichier local](/fr/docs/Web/API/FileReader) + +## Propriétés + +- `ArrayBuffer.length` + - : La longueur du constructeur `ArrayBuffer`. Elle vaut 1. +- {{jsxref("ArrayBuffer.@@species", "get ArrayBuffer[@@species]")}} + - : La fonction de construction utilisée pour créer les objets dérivés. +- {{jsxref("ArrayBuffer.prototype")}} + - : Cette propriété permet d'ajouter des propriétés à tous les objets `ArrayBuffer`. + +## Méthodes + +- {{jsxref("ArrayBuffer.isView", "ArrayBuffer.isView(arg)")}} + - : Cette méthode renvoie `true` si `arg` est une des vues sur l'`ArrayBuffer` telle qu'un [tableau typé](/fr/docs/Web/JavaScript/Reference/Objets_globaux/TypedArray) ou un objet {{jsxref("DataView")}}, sinon elle renvoie `false`. +- {{jsxref("ArrayBuffer.transfer", "ArrayBuffer.transfer(ancienTampon [, nouvelleLongueur])")}} {{experimental_inline}} + - : Cette méthode renvoie un nouvel objet `ArrayBuffer` dont le contenu est transféré depuis les données de `ancienTampon` et qui est ensuite tronqué ou rallongé avec des zéros pour que la taille du nouveau tampon soit `nouvelleLongueur`. + +## Les instances d'`ArrayBuffer` + +Toutes les instances d'`ArrayBuffer` héritent de {{jsxref("ArrayBuffer.prototype")}}. + +### Propriétés + +{{page('fr/docs/Web/JavaScript/Reference/Objets_globaux/ArrayBuffer/prototype','Propri.C3.A9t.C3.A9s')}} + +### Méthodes + +{{page('fr/docs/Web/JavaScript/Reference/Objets_globaux/ArrayBuffer/prototype','M.C3.A9thodes')}} + +- {{jsxref("ArrayBuffer.slice()")}} {{non-standard_inline}} + - : Cette méthode fournit la même fonctionnalité que {{jsxref("ArrayBuffer.prototype.slice()")}}. + +## Exemple + +Dans cet exemple, on crée un tampon sur 8 octets avec une vue {{jsxref("Int32Array")}} qui fait référence à ce tampon : + +```js +var tampon = new ArrayBuffer(8); +var vue = new Int32Array(tampon); +``` + +## Spécifications + +| Spécification | État | Commentaires | +| -------------------------------------------------------------------------------------------- | -------------------------------- | --------------------------------------------------------------------------------------------------- | +| {{SpecName('Typed Array')}} | {{Spec2('Typed Array')}} | Remplacée par ECMAScript 6. | +| {{SpecName('ES6', '#sec-arraybuffer-constructor', 'ArrayBuffer')}} | {{Spec2('ES6')}} | Définition initiale au sein d'un standard ECMA. `new` est obligaoire pour utiliser le constructeur. | +| {{SpecName('ESDraft', '#sec-arraybuffer-constructor', 'ArrayBuffer')}} | {{Spec2('ESDraft')}} | | + +## Compatibilité des navigateurs + +{{Compat("javascript.builtins.ArrayBuffer")}} + +## Notes de compatibilité + +À partir d'ECMAScript 2015 (ES6),` ArrayBuffer` doit être utilisée avec {{jsxref("Opérateurs/L_opérateur_new", "new")}}. Appeler un constructeur `ArrayBuffer` comme une fonction, sans `new`, provoquera une exception {{jsxref("TypeError")}}. + +```js example-bad +var dv = ArrayBuffer(10); +// TypeError: calling a builtin ArrayBuffer constructor +// without new is forbidden +``` + +```js example-good +var dv = new ArrayBuffer(10); +``` + +## Voir aussi + +- [Les tableaux typés JavaScript](/fr/docs/Web/JavaScript/Tableaux_typés) +- {{jsxref("SharedArrayBuffer")}} |
