--- title: Atomics.compareExchange() slug: Web/JavaScript/Reference/Global_Objects/Atomics/compareExchange tags: - Atomics - JavaScript - Method - Shared Memory - メソッド - 共有メモリ translation_of: Web/JavaScript/Reference/Global_Objects/Atomics/compareExchange ---
静的な Atomics.compareExchange() メソッドは、指定された値を配列内の指定した位置に格納し、その値を返します。
Atomics.compareExchange(typedArray, index, value)
typedArrayindextypedArray で value と交換する位置です。expectedValuereplacementValue指定された位置にあった古い値です (typedArray[index])。
typedArray が許可された整数型の何れでもない場合、{{jsxref("TypeError")}} が発生します。typedArray が共有型付き配列型ではない場合、 {{jsxref("TypeError")}} が発生します。index が typedArray の範囲を超えている場合、 {{jsxref("RangeError")}} が発生します。const sab = new SharedArrayBuffer(1024); const ta = new Uint8Array(sab); ta[0] = 7; Atomics.compareExchange(ta, 0, 7, 12); // returns 7, the old value Atomics.load(ta, 0); // 12
| 仕様書 |
|---|
| {{SpecName('ESDraft', '#sec-atomics.compareexchange', 'Atomics.compareExchange')}} |
{{Compat("javascript.builtins.Atomics.compareExchange")}}