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

View in English Always switch to English

Atomics.exchange()

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 Methode Atomics.exchange() tauscht einen angegebenen Wert an einer angegebenen Position im Array aus und gibt den alten Wert an dieser Position zurück. Diese atomare Operation garantiert, dass zwischen dem Lesen des alten Wertes und dem Schreiben des neuen Wertes kein anderer Schreibvorgang stattfindet.

Syntax

js
Atomics.exchange(typedArray, index, value)

Parameter

typedArray

Ein Integer-Typ-Array. Eines von Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, BigInt64Array oder BigUint64Array.

index

Die Position im typedArray, an der ein value ausgetauscht wird.

value

Die Zahl, die ausgetauscht wird.

Rückgabewert

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

Ausnahmen

TypeError

Wird ausgelöst, wenn typedArray nicht einer der erlaubten Integer-Typen ist.

RangeError

Wird ausgelöst, wenn index außerhalb der Grenzen im typedArray liegt.

Beispiele

Bitte beachten Sie, dass diese Beispiele nicht direkt von der Konsole oder einer beliebigen Webseite aus ausgeführt werden können, da SharedArrayBuffer nicht definiert ist, es sei denn, seine Sicherheitsanforderungen werden erfüllt.

Verwendung von Atomics.exchange()

js
// Create a SharedArrayBuffer with a size in bytes
const sab = new SharedArrayBuffer(1024);
// Create a view and set the value of the 0 index
const ta = new Uint8Array(sab);
ta[0] = 7;

console.log(Atomics.exchange(ta, 0, 12)); // 7, the old value
console.log(Atomics.load(ta, 0)); // 12, the new/current value

Spezifikationen

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

Browser-Kompatibilität

Siehe auch