Atomics.store()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since December 2021.
The Atomics.store() static method stores a given value at a given position in the array and returns that value. This atomic operation guarantees that the write is tear-free, and that all atomic writes are sequentially consistent.
Note that unlike many other Atomic methods, store() returns the new value instead of the old value. To get the old value, use Atomics.exchange() instead.
Syntax
Atomics.store(typedArray, index, value)
Parameters
typedArray-
An integer typed array. One of
Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,BigInt64Array, orBigUint64Array. index-
The position in the
typedArrayto store avaluein. value-
The number to store.
Return value
The value that has been stored.
Exceptions
TypeError-
Thrown if
typedArrayis not one of the allowed integer types. RangeError-
Thrown if
indexis out of bounds in thetypedArray.
Examples
Note that these examples cannot be run directly from the console or an arbitrary web page, because SharedArrayBuffer is not defined unless its security requirements are met.
Using Atomics.store()
// Create a SharedArrayBuffer with a size in bytes
const sab = new SharedArrayBuffer(1024);
const ta = new Uint8Array(sab);
console.log(Atomics.store(ta, 0, 12)); // 12, the new/current value
console.log(Atomics.load(ta, 0)); // 12, the new/current value
Specifications
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-atomics.store> |