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
Atomics.exchange(typedArray, index, value)
Parameter
typedArray-
Ein Integer-Typ-Array. Eines von
Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,BigInt64ArrayoderBigUint64Array. index-
Die Position im
typedArray, an der einvalueausgetauscht wird. value-
Die Zahl, die ausgetauscht wird.
Rückgabewert
Der alte Wert an der angegebenen Position (typedArray[index]).
Ausnahmen
TypeError-
Wird ausgelöst, wenn
typedArraynicht einer der erlaubten Integer-Typen ist. RangeError-
Wird ausgelöst, wenn
indexaußerhalb der Grenzen imtypedArrayliegt.
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()
// 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> |