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.
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
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 !
Syntaxe
Atomics.and(typedArray, index, valeur)
Paramètres
typedArray
- Un tableau typé entier partagé parmi
Int8Array
,Uint8Array
,Int16Array
,Uint16Array
,Int32Array
ouUint32Array
. 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
- Cette méthode lève
TypeError
si le type detypedArray
n'est pas un des types entiers autorisés. - Cette méthode lève
TypeError
sitypedArray
n'est pas tableau typé partagé. - Cette méthode lève
RangeError
siindex
est en dehors des limites detypedArray
.
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 |
---|---|---|
ECMAScript (ECMA-262) La définition de 'Atomics.and' dans cette spécification. |
Standard évolutif | Définition initiale avec ES2017. |
Compatibilité des navigateurs
BCD tables only load in the browser