--- title: Atomics.exchange() slug: Web/JavaScript/Reference/Objets_globaux/Atomics/exchange tags: - Atomics - JavaScript - Mémoire partagée - Méthode - Reference translation_of: Web/JavaScript/Reference/Global_Objects/Atomics/exchange ---
La méthode statique Atomics
.exchange()
permet d'enregistrer une valeur à une position donnée d'un tableau et de renvoyer l'ancienne valeur qui était contenue dans le tableau. 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.
Le code source de cet exemple interactif est disponible dans un dépôt GitHub. Si vous souhaitez contribuez à ces exemples, n'hésitez pas à cloner https://github.com/mdn/interactive-examples et à envoyer une pull request !
Atomics.exchange(typedArray, index, valeur)
typedArray
index
typedArray
à laquelle on veut placer valeur
.valeur
L'ancienne valeur qui était contenue à (typedArray[index]
).
typedArray
n'est pas un des types entiers autorisés.typedArray
n'est pas tableau typé partagé.index
est en dehors des limites de typedArray
.var sab = new SharedArrayBuffer(1024); var ta = new Uint8Array(sab); Atomics.exchange(ta, 0, 12); // renvoie 0, l'ancienne valeur Atomics.load(ta, 0); // 12
Spécification | Statut | Commentaires |
---|---|---|
{{SpecName('ESDraft', '#sec-atomics.exchange', 'Atomics.exchange')}} | {{Spec2('ESDraft')}} | Définition initiale avec ES2017. |
{{Compat("javascript.builtins.Atomics.exchange")}}