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/atomics/compareexchange/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/atomics/compareexchange/index.md')
| -rw-r--r-- | files/fr/web/javascript/reference/global_objects/atomics/compareexchange/index.md | 96 |
1 files changed, 40 insertions, 56 deletions
diff --git a/files/fr/web/javascript/reference/global_objects/atomics/compareexchange/index.md b/files/fr/web/javascript/reference/global_objects/atomics/compareexchange/index.md index add0ccdd87..e606b19bd4 100644 --- a/files/fr/web/javascript/reference/global_objects/atomics/compareexchange/index.md +++ b/files/fr/web/javascript/reference/global_objects/atomics/compareexchange/index.md @@ -10,75 +10,59 @@ tags: translation_of: Web/JavaScript/Reference/Global_Objects/Atomics/compareExchange original_slug: Web/JavaScript/Reference/Objets_globaux/Atomics/compareExchange --- -<div>{{JSRef}}</div> +{{JSRef}} -<p>La méthode statique <code><strong>Atomics</strong></code><strong><code>.compareExchange()</code></strong> échange une valeur d'un tableau à un emplacement donné si la valeur qui était dans le tableau correspond à une valeur donnée. Cette méthode renvoie l'ancienne valeur à cet emplacement, qu'il y ait eu remplacement ou non. Cette opération atomique garantit qu'aucune autre opération d'écriture n'est appliquée tant que la valeur modifiée n'est pas écrite.</p> +La méthode statique **`Atomics`\*\***`.compareExchange()`\*\* échange une valeur d'un tableau à un emplacement donné si la valeur qui était dans le tableau correspond à une valeur donnée. Cette méthode renvoie l'ancienne valeur à cet emplacement, qu'il y ait eu remplacement ou non. Cette opération atomique garantit qu'aucune autre opération d'écriture n'est appliquée tant que la valeur modifiée n'est pas écrite. -<div>{{EmbedInteractiveExample("pages/js/atomics-compareexchange.html")}}</div> +{{EmbedInteractiveExample("pages/js/atomics-compareexchange.html")}} -<h2 id="Syntaxe">Syntaxe</h2> +## Syntaxe -<pre class="syntaxbox">Atomics.compareExchange(typedArray, index, valeurAttendue, valeurRemplacement) -</pre> + Atomics.compareExchange(typedArray, index, valeurAttendue, valeurRemplacement) -<h3 id="Paramètres">Paramètres</h3> +### Paramètres -<dl> - <dt><code>typedArray</code></dt> - <dd>Un tableau typé entier partagé parmi {{jsxref("Int8Array")}}, {{jsxref("Uint8Array")}}, {{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}} ou {{jsxref("Uint32Array")}}.</dd> - <dt><code>index</code></dt> - <dd>La position du tableau <code>typedArray</code> à laquelle on veut échanger les valeurs.</dd> - <dt><code>valeurAttendue</code></dt> - <dd>La valeur avec laquelle on teste l'égalité.</dd> - <dt><code>valeurRemplacement</code></dt> - <dd>Le nombre qu'on souhaite placer dans le tableau si l'ancienne valeur est égale avec <code>valeurAttendue</code>.</dd> -</dl> +- `typedArray` + - : Un tableau typé entier partagé parmi {{jsxref("Int8Array")}}, {{jsxref("Uint8Array")}}, {{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}} ou {{jsxref("Uint32Array")}}. +- `index` + - : La position du tableau `typedArray` à laquelle on veut échanger les valeurs. +- `valeurAttendue` + - : La valeur avec laquelle on teste l'égalité. +- `valeurRemplacement` + - : Le nombre qu'on souhaite placer dans le tableau si l'ancienne valeur est égale avec `valeurAttendue`. -<h3 id="Valeur_de_retour">Valeur de retour</h3> +### Valeur de retour -<p>L'ancienne valeur présente à <code>typedArray[index]</code>.</p> +L'ancienne valeur présente à `typedArray[index]`. -<h3 id="Exceptions_levées">Exceptions levées</h3> +### Exceptions levées -<ul> - <li>Cette méthode lève {{jsxref("TypeError")}} si le type de <code>typedArray</code> n'est pas un des types entiers autorisés.</li> - <li>Cette méthode lève {{jsxref("TypeError")}} si <code>typedArray</code> n'est pas tableau typé partagé.</li> - <li>Cette méthode lève {{jsxref("RangeError")}} si <code>index</code> est en dehors des limites de <code>typedArray</code>.</li> -</ul> +- Cette méthode lève {{jsxref("TypeError")}} si le type de `typedArray` n'est pas un des types entiers autorisés. +- Cette méthode lève {{jsxref("TypeError")}} si `typedArray` n'est pas tableau typé partagé. +- Cette méthode lève {{jsxref("RangeError")}} si `index` est en dehors des limites de `typedArray`. -<h2 id="Exemples">Exemples</h2> +## Exemples -<pre class="brush: js">var sab = new SharedArrayBuffer(1024); +```js +var sab = new SharedArrayBuffer(1024); var ta = new Uint8Array(sab); ta[0] = 7; Atomics.compareExchange(ta, 0, 7, 12); // renvoie 7, l'ancienne valeur -Atomics.load(ta, 0); // 12</pre> - -<h2 id="Spécifications">Spécifications</h2> - -<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('ESDraft', '#sec-atomics.compareexchange', 'Atomics.compareExchange')}}</td> - <td>{{Spec2('ESDraft')}}</td> - <td>Définition initiale avec ES2017.</td> - </tr> - </tbody> -</table> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<p>{{Compat("javascript.builtins.Atomics.compareExchange")}}</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li>{{jsxref("Atomics")}}</li> - <li>{{jsxref("Atomics.exchange()")}}</li> -</ul> +Atomics.load(ta, 0); // 12 +``` + +## Spécifications + +| Spécification | État | Commentaires | +| ------------------------------------------------------------------------------------------------------------ | ---------------------------- | -------------------------------- | +| {{SpecName('ESDraft', '#sec-atomics.compareexchange', 'Atomics.compareExchange')}} | {{Spec2('ESDraft')}} | Définition initiale avec ES2017. | + +## Compatibilité des navigateurs + +{{Compat("javascript.builtins.Atomics.compareExchange")}} + +## Voir aussi + +- {{jsxref("Atomics")}} +- {{jsxref("Atomics.exchange()")}} |
