Movatterモバイル変換


[0]ホーム

URL:


MDN Web Docs

Atomics.exchange()

BaselineWidely available

TheAtomics.exchange() static method exchanges a given value at a given position in the array and returns the old value at that position. This atomic operation guarantees that no other write happens between the read of the old value and the write of the new value.

Try it

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

Syntax

js
Atomics.exchange(typedArray, index, value)

Parameters

typedArray

An integer typed array. One ofInt8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,BigInt64Array, orBigUint64Array.

index

The position in thetypedArray to exchange avalue.

value

The number to exchange.

Return value

The old value at the given position (typedArray[index]).

Exceptions

TypeError

Thrown iftypedArray is not one of the allowed integer types.

RangeError

Thrown ifindex is out of bounds in thetypedArray.

Examples

Using exchange()

js
const sab = new SharedArrayBuffer(1024);const ta = new Uint8Array(sab);Atomics.exchange(ta, 0, 12); // returns 0, the old valueAtomics.load(ta, 0); // 12

Specifications

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

Browser compatibility

See also

Help improve MDN

Learn how to contribute.

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp