Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. JavaScript
  3. JavaScript-Referenz
  4. Eingebaute Standardobjekte
  5. Atomics
  6. xor()

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.

View in EnglishAlways switch to English

Atomics.xor()

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⁩.

Die statische MethodeAtomics.xor() berechnet einen bitweisen XOR mit einem gegebenen Wert an einer bestimmten Position im Array und gibt den alten Wert an dieser Position zurück. Diese atomare Operation garantiert, dass keine anderen Schreibvorgänge erfolgen, bis der modifizierte Wert zurückgeschrieben wird.

Probieren Sie es aus

// Create a SharedArrayBuffer with a size in bytesconst buffer = new SharedArrayBuffer(16);const uint8 = new Uint8Array(buffer);uint8[0] = 7;// 7 (0111) XOR 2 (0010) = 5 (0101)console.log(Atomics.xor(uint8, 0, 2));// Expected output: 7console.log(Atomics.load(uint8, 0));// Expected output: 5

Syntax

js
Atomics.xor(typedArray, index, value)

Parameter

typedArray

Ein Ganzzahlen-Typ-Array. Eines vonInt8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,BigInt64Array oderBigUint64Array.

index

Die Position imtypedArray, an der der bitweise XOR berechnet wird.

value

Die Zahl, mit der der bitweise XOR berechnet wird.

Rückgabewert

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

Ausnahmen

TypeError

Wird ausgelöst, wenntypedArray nicht einer der erlaubten Ganzzahltypen ist.

RangeError

Wird ausgelöst, wennindex außerhalb der Grenzen destypedArray ist.

Beschreibung

Die bitweise XOR-Operation ergibt 1, wenna undb unterschiedlich sind.Die Wahrheitstabelle für die XOR-Operation ist:

aba ^ b
000
011
101
110

Ein Beispiel: Ein bitweises XOR von5 ^ 1 ergibt0100, was 4 im Dezimalsystem ist.

5  01011  0001   ----4  0100

Beispiele

Verwendung von xor

js
const sab = new SharedArrayBuffer(1024);const ta = new Uint8Array(sab);ta[0] = 5;Atomics.xor(ta, 0, 1); // returns 5, the old valueAtomics.load(ta, 0); // 4

Spezifikationen

Specification
ECMAScript® 2026 Language Specification
# sec-atomics.xor

Browser-Kompatibilität

Siehe auch

Help improve MDN

Learn how to contribute Diese Seite wurde automatisch aus dem Englischen übersetzt.

[8]ページ先頭

©2009-2025 Movatter.jp