Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
Atomics.or()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Dezember 2021.
DieAtomics.or() statischeMethode berechnet ein bitweises OR mit einem gegebenen Wert an einer bestimmten Position im Array undgibt den alten Wert an dieser Position zurück. Diese atomare Operation garantiert, dass kein andererSchreibvorgang erfolgt, bis der modifizierte Wert zurückgeschrieben wird.
In diesem Artikel
Probieren Sie es aus
// Create a SharedArrayBuffer with a size in bytesconst buffer = new SharedArrayBuffer(16);const uint8 = new Uint8Array(buffer);uint8[0] = 5;// 5 (0101) OR 2 (0010) = 7 (0111)console.log(Atomics.or(uint8, 0, 2));// Expected output: 5console.log(Atomics.load(uint8, 0));// Expected output: 7Syntax
Atomics.or(typedArray, index, value)Parameter
typedArrayEin Integer-Typ-Array. Eine der folgenden:
Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,BigInt64Array, oderBigUint64Array.indexDie Position im
typedArray, an der das bitweise OR berechnet werden soll.valueDie Zahl, mit der das bitweise OR berechnet wird.
Rückgabewert
Der alte Wert an der angegebenen Position(typedArray[index]).
Ausnahmen
TypeErrorWird ausgelöst, wenn
typedArraynicht einer der erlaubten Integertypen ist.RangeErrorWird ausgelöst, wenn
indexaußerhalb der Grenzen destypedArrayliegt.
Beschreibung
Die bitweise OR-Operation ergibt 1, wenn entwedera oderb 1 sind.Die Wahrheitstabelle für die OR-Operation ist:
a | b | a | b |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
Ein Beispiel: Ein bitweises OR von5 | 1 ergibt0101, was 5im Dezimalsystem ist.
5 01011 0001 ----5 0101
Beispiele
>Verwendung von or
const sab = new SharedArrayBuffer(1024);const ta = new Uint8Array(sab);ta[0] = 2;Atomics.or(ta, 0, 1); // returns 2, the old valueAtomics.load(ta, 0); // 3Spezifikationen
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-atomics.or> |