Die statische Atomics.or() Methode berechnet eine bitweises ODER mit einem gegebenen Wert auf einem Wert an einer gegebenen Position im Array und gibt den alten Wert an der Position zurück. Die atomare Operation garantiert, dass kein anderer Schreibprozess während der Operation durchgeführt wird.

Syntax

Atomics.and(typedArray, index, value)

Parameter

typedArray
Ein geteiltes getrypted Integer Array. Eines von Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array oder Uint32Array.
index
Die Position in typedArray, mit der das bitweise ODER berechnet wird.
value
Die Zahl, mit der das bitweise ODER berechnet wird.

Rückgabewert

Der alte Wert an der gegebenen Position (typedArray[index]).

Exceptions

  • Erzeugt einen TypeError, wenn typedArray nicht von einem erlaubten Integer Typ ist.
  • Erzeugt eine TypeError, wenn typedArray kein geteilter Arraytyp ist.
  • Erzeugt ein RangeError, wenn der index nicht in den Grenzen von typedArray ist.

Beschreibung

Die bitweise ODER Operation ergibt nur 1, wenn eine Werte, a oder b, 1 ist. Die Wahrheitstabelle für die ODER Operation ist:

a b a | b
0 0 0
0 1 1
1 0 1
1 1 1

Zum Beispiel resultiert ein bitweises ODER auf 5 | 1 in 0111, was im Dezimalsystem 5 ist.

5  0101
1  0001
   ----
5  0101

Beispiele

var sab = new SharedArrayBuffer(1024);
var ta = new Uint8Array(sab);
ta[0] = 2;

Atomics.or(ta, 0, 1); // returns 2, the old value
Atomics.load(ta, 0);  // 3

Spezifikationen

Spezifikation Status Kommentar
ECMAScript Latest Draft (ECMA-262)
Die Definition von 'Atomics.or' in dieser Spezifikation.
Entwurf Initiale Definition in ES2017.

Browserkompatibilität

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Grundlegende Unterstützung601 Nein2

573 4

55 — 57

46 — 555

Nein Nein10.1 —?
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Grundlegende Unterstützung601601 ?

573 4

55 — 57

46 — 555

Nein Nein Nein

1. Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This is intended as a temporary measure until other mitigations are in place.

2. Support was removed to mitigate speculative execution side-channel attacks (Windows blog).

3. Support was disabled by default to mitigate speculative execution side-channel attacks (Mozilla Security Blog).

4. From version 57: this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.

5. From version 46 until version 55 (exclusive): this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.

Siehe auch

Schlagwörter des Dokuments und Mitwirkende

 Mitwirkende an dieser Seite: schlagi123
 Zuletzt aktualisiert von: schlagi123,