diff options
author | julieng <julien.gattelier@gmail.com> | 2021-08-03 08:03:23 +0200 |
---|---|---|
committer | SphinxKnight <SphinxKnight@users.noreply.github.com> | 2021-09-03 08:08:25 +0200 |
commit | bf8e099b9c8b3c60d60b3712b4fc97b052c39887 (patch) | |
tree | c101746d082c9581c94f5937519c7d0e2f4af8cb /files/fr/web/javascript/reference/global_objects/arraybuffer/index.md | |
parent | 844f5103992238c0c23203286dad16a466e89c97 (diff) | |
download | translated-content-bf8e099b9c8b3c60d60b3712b4fc97b052c39887.tar.gz translated-content-bf8e099b9c8b3c60d60b3712b4fc97b052c39887.tar.bz2 translated-content-bf8e099b9c8b3c60d60b3712b4fc97b052c39887.zip |
convert content to md
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 | 154 |
1 files changed, 63 insertions, 91 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 index 7c46a860de..df2c70beba 100644 --- a/files/fr/web/javascript/reference/global_objects/arraybuffer/index.md +++ b/files/fr/web/javascript/reference/global_objects/arraybuffer/index.md @@ -10,133 +10,105 @@ tags: translation_of: Web/JavaScript/Reference/Global_Objects/ArrayBuffer original_slug: Web/JavaScript/Reference/Objets_globaux/ArrayBuffer --- -<div>{{JSRef}}</div> +{{JSRef}} -<p>L'objet <strong><code>ArrayBuffer</code></strong> est utilisé afin de représenter un tampon (<em>buffer</em>) 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 <code>ArrayBuffer</code> se fait de façon indirecte en créant un <a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/TypedArray">tableau typé</a> 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.</p> +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. -<div>{{EmbedInteractiveExample("pages/js/arraybuffer-constructor.html")}}</div> +{{EmbedInteractiveExample("pages/js/arraybuffer-constructor.html")}} -<h2 id="Syntaxe">Syntaxe</h2> +## Syntaxe -<pre class="syntaxbox">new ArrayBuffer(longueur) -</pre> + new ArrayBuffer(longueur) -<h3 id="Paramètres">Paramètres</h3> +### Paramètres -<dl> - <dt><code>longueur</code></dt> - <dd>La taille, exprimée en octets, du tableau représentant le tampon.</dd> -</dl> +- `longueur` + - : La taille, exprimée en octets, du tableau représentant le tampon. -<h3 id="Valeur_de_retour">Valeur de retour</h3> +### Valeur de retour -<p>Un nouvel objet <code>ArrayBuffer</code> de la taille donnée. Ses éléments sont initialisés à 0.</p> +Un nouvel objet `ArrayBuffer` de la taille donnée. Ses éléments sont initialisés à 0. -<h3 id="Exceptions">Exceptions</h3> +### Exceptions -<p>Une exception {{jsxref("RangeError")}} est levée lorsque l'argument <code>longueur</code> est supérieur à {{jsxref("Number.MAX_SAFE_INTEGER")}} (soit 2^53) ou s'il est négatif.</p> +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. -<h2 id="Description">Description</h2> +## Description -<p>Le constructeur <code>ArrayBuffer</code> crée une nouvelle instance d'<code>ArrayBuffer</code> dont la longueur est celle donnée lors de la construction.</p> +Le constructeur `ArrayBuffer` crée une nouvelle instance d'`ArrayBuffer` dont la longueur est celle donnée lors de la construction. -<h3 id="Obtenir_un_tampon_mémoire_depuis_des_données_existantes">Obtenir un tampon mémoire depuis des données existantes</h3> +### Obtenir un tampon mémoire depuis des données existantes -<ul> - <li><a href="/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'une chaîne de caractères en Base 64</a></li> - <li><a href="/fr/docs/Web/API/FileReader">À partir d'un fichier local</a></li> -</ul> +- [À 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) -<h2 id="Propriétés">Propriétés</h2> +## Propriétés -<dl> - <dt><code>ArrayBuffer.length</code></dt> - <dd>La longueur du constructeur <code>ArrayBuffer</code>. Elle vaut 1.</dd> - <dt>{{jsxref("ArrayBuffer.@@species", "get ArrayBuffer[@@species]")}}</dt> - <dd>La fonction de construction utilisée pour créer les objets dérivés.</dd> - <dt>{{jsxref("ArrayBuffer.prototype")}}</dt> - <dd>Cette propriété permet d'ajouter des propriétés à tous les objets <code>ArrayBuffer</code>.</dd> -</dl> +- `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`. -<h2 id="Méthodes">Méthodes</h2> +## Méthodes -<dl> - <dt>{{jsxref("ArrayBuffer.isView", "ArrayBuffer.isView(arg)")}}</dt> - <dd>Cette méthode renvoie <code>true</code> si <code>arg</code> est une des vues sur l'<code>ArrayBuffer</code> telle qu'un <a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/TypedArray">tableau typé</a> ou un objet {{jsxref("DataView")}}, sinon elle renvoie <code>false</code>.</dd> - <dt>{{jsxref("ArrayBuffer.transfer", "ArrayBuffer.transfer(ancienTampon [, nouvelleLongueur])")}} {{experimental_inline}}</dt> - <dd> - <div>Cette méthode renvoie un nouvel objet <code>ArrayBuffer</code> dont le contenu est transféré depuis les données de <code>ancienTampon</code> et qui est ensuite tronqué ou rallongé avec des zéros pour que la taille du nouveau tampon soit <code>nouvelleLongueur</code>.</div> - </dd> -</dl> +- {{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`. -<h2 id="Les_instances_d'ArrayBuffer">Les instances d'<code>ArrayBuffer</code></h2> +## Les instances d'`ArrayBuffer` -<p>Toutes les instances d'<code>ArrayBuffer</code> héritent de {{jsxref("ArrayBuffer.prototype")}}.</p> +Toutes les instances d'`ArrayBuffer` héritent de {{jsxref("ArrayBuffer.prototype")}}. -<h3 id="Propriétés_2">Propriétés</h3> +### Propriétés -<p>{{page('fr/docs/Web/JavaScript/Reference/Objets_globaux/ArrayBuffer/prototype','Propri.C3.A9t.C3.A9s')}}</p> +{{page('fr/docs/Web/JavaScript/Reference/Objets_globaux/ArrayBuffer/prototype','Propri.C3.A9t.C3.A9s')}} -<h3 id="Méthodes_2">Méthodes</h3> +### Méthodes -<p>{{page('fr/docs/Web/JavaScript/Reference/Objets_globaux/ArrayBuffer/prototype','M.C3.A9thodes')}}</p> +{{page('fr/docs/Web/JavaScript/Reference/Objets_globaux/ArrayBuffer/prototype','M.C3.A9thodes')}} -<dl> - <dt>{{jsxref("ArrayBuffer.slice()")}} {{non-standard_inline}}</dt> - <dd>Cette méthode fournit la même fonctionnalité que {{jsxref("ArrayBuffer.prototype.slice()")}}.</dd> -</dl> +- {{jsxref("ArrayBuffer.slice()")}} {{non-standard_inline}} + - : Cette méthode fournit la même fonctionnalité que {{jsxref("ArrayBuffer.prototype.slice()")}}. -<h2 id="Exemple">Exemple</h2> +## Exemple -<p>Dans cet exemple, on crée un tampon sur 8 octets avec une vue {{jsxref("Int32Array")}} qui fait référence à ce tampon :</p> +Dans cet exemple, on crée un tampon sur 8 octets avec une vue {{jsxref("Int32Array")}} qui fait référence à ce tampon : -<pre class="brush: js">var tampon = new ArrayBuffer(8); -var vue = new Int32Array(tampon);</pre> +```js +var tampon = new ArrayBuffer(8); +var vue = new Int32Array(tampon); +``` -<h2 id="Spécifications">Spécifications</h2> +## Spécifications -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Spécification</th> - <th scope="col">État</th> - <th scope="col">Commentaires</th> - </tr> - <tr> - <td>{{SpecName('Typed Array')}}</td> - <td>{{Spec2('Typed Array')}}</td> - <td>Remplacée par ECMAScript 6.</td> - </tr> - <tr> - <td>{{SpecName('ES6', '#sec-arraybuffer-constructor', 'ArrayBuffer')}}</td> - <td>{{Spec2('ES6')}}</td> - <td>Définition initiale au sein d'un standard ECMA. <code>new</code> est obligaoire pour utiliser le constructeur.</td> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-arraybuffer-constructor', 'ArrayBuffer')}}</td> - <td>{{Spec2('ESDraft')}}</td> - <td></td> - </tr> - </tbody> -</table> +| 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')}} | | -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> +## Compatibilité des navigateurs -<p>{{Compat("javascript.builtins.ArrayBuffer")}}</p> +{{Compat("javascript.builtins.ArrayBuffer")}} -<h2 id="Notes_de_compatibilité">Notes de compatibilité</h2> +## Notes de compatibilité -<p>À partir d'ECMAScript 2015 (ES6),<code> ArrayBuffer</code> doit être utilisée avec {{jsxref("Opérateurs/L_opérateur_new", "new")}}. Appeler un constructeur <code>ArrayBuffer</code> comme une fonction, sans <code>new</code>, provoquera une exception {{jsxref("TypeError")}}.</p> +À 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")}}. -<pre class="brush: js example-bad">var dv = ArrayBuffer(10); +```js example-bad +var dv = ArrayBuffer(10); // TypeError: calling a builtin ArrayBuffer constructor -// without new is forbidden</pre> +// without new is forbidden +``` -<pre class="brush: js example-good">var dv = new ArrayBuffer(10);</pre> +```js example-good +var dv = new ArrayBuffer(10); +``` -<h2 id="Voir_aussi">Voir aussi</h2> +## Voir aussi -<ul> - <li><a href="/fr/docs/Web/JavaScript/Tableaux_typés">Les tableaux typés JavaScript</a></li> - <li>{{jsxref("SharedArrayBuffer")}}</li> -</ul> +- [Les tableaux typés JavaScript](/fr/docs/Web/JavaScript/Tableaux_typés) +- {{jsxref("SharedArrayBuffer")}} |