--- 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 ---
{{JSRef}}

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.

{{EmbedInteractiveExample("pages/js/atomics-and.html")}}

Syntaxe

Atomics.and(typedArray, index, valeur)

Paramètres

typedArray
Un tableau typé entier partagé parmi {{jsxref("Int8Array")}}, {{jsxref("Uint8Array")}}, {{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}} ou {{jsxref("Uint32Array")}}.
index
La position dans typedArray où calculer le ET binaire.
valeur
Le nombre avec lequel on souhaite calculer le ET binaire.

Valeur de retour

L'ancienne valeur qui était contenue à (typedArray[index]).

Exceptions levée

Description

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

Exemples

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écifications

Spécification État Commentaires
{{SpecName('ESDraft', '#sec-atomics.and', 'Atomics.and')}} {{Spec2('ESDraft')}} Définition initiale avec ES2017.

Compatibilité des navigateurs

{{Compat("javascript.builtins.Atomics.and")}}

Voir aussi