--- title: Atomics.and() slug: Web/JavaScript/Reference/Global_Objects/Atomics/and tags: - Atomics - JavaScript - Mémoire partagée - Méthode - Reference translation_of: Web/JavaScript/Reference/Global_Objects/Atomics/and original_slug: Web/JavaScript/Reference/Objets_globaux/Atomics/and ---
La méthode statique Atomics.and() calcule un ET binaire avec une valeur donnée, à un emplacement donné du tableau. Elle renvoie l'ancienne valeur qui était contenue à cet emplacement. 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.
Atomics.and(typedArray, index, valeur)
typedArrayindextypedArray où calculer le ET binaire.valeurL'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.Un ET binaire fournit la valeur 1 uniquement si a et b valent 1. La table de vérité pour l'opération ET est :
a |
b |
a & b |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
Ainsi, si on calcule le ET binaire de 5 et 1 avec l'instruction 5 & 1, cela fournira la valeur 0001, qui correspond à 1 en notation décimale.
5 0101 1 0001 ---- 1 0001
var sab = new SharedArrayBuffer(1024); var ta = new Uint8Array(sab); ta[0] = 5; Atomics.and(ta, 0, 1); // renvoie 0, l'ancienne valeur Atomics.load(ta, 0); // 1
| Spécification | État | Commentaires |
|---|---|---|
| {{SpecName('ESDraft', '#sec-atomics.and', 'Atomics.and')}} | {{Spec2('ESDraft')}} | Définition initiale avec ES2017. |
{{Compat("javascript.builtins.Atomics.and")}}