--- 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.
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.and(typedArray, index, valeur)
typedArray
index
typedArray
où calculer le ET binaire.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
.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")}}