aboutsummaryrefslogtreecommitdiff
path: root/files/fr/web/javascript/reference/global_objects/arraybuffer/index.md
diff options
context:
space:
mode:
authorMasahiro FUJIMOTO <mfujimot@gmail.com>2021-09-04 00:46:12 +0900
committerMasahiro FUJIMOTO <mfujimot@gmail.com>2021-09-04 00:46:12 +0900
commitfe6f6abf2b7c497bf1f97f73a82dde7cf48eb79f (patch)
tree51b7edfc370236684a203f4e69ae67bb7d24b549 /files/fr/web/javascript/reference/global_objects/arraybuffer/index.md
parent04ea4edc83cc12142ed151bbea2c65cffc8e76f6 (diff)
parenteeb07fe338cdc90092841d717919f46f9d9e3ff9 (diff)
downloadtranslated-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.md114
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")}}