The static Atomics.store() method stores a given value at the given position in the array and returns that value.

Syntax

Atomics.store(typedArray, index, value)

Parameters

typedArray
A shared integer typed array. One of Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, or Uint32Array.
index
The position in the typedArray to store a value in.
value
The number to store.

Return value

The value that has been stored.

Exceptions

  • Throws a TypeError, if typedArray is not one of the allowed integer types.
  • Throws a TypeError, if typedArray is not a shared typed array type.
  • Throws a RangeError, if index is out of bounds in the typedArray.

Examples

var sab = new SharedArrayBuffer(1024);
var ta = new Uint8Array(sab);

Atomics.store(ta, 0, 12); // 12

Specifications

Specification Status Comment
ECMAScript Latest Draft (ECMA-262)
The definition of 'Atomics.store' in that specification.
Draft Initial definition in ES2017.

Browser compatibility

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support601162

573 4

55 — 57

46 — 555

No No10.1 —?
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support601601 ?

573 4

55 — 57

46 — 555

No No No

1. Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This is intended as a temporary measure until other mitigations are in place.

2. Support was removed to mitigate speculative execution side-channel attacks (Windows blog).

3. Support was disabled by default to mitigate speculative execution side-channel attacks (Mozilla Security Blog).

4. From version 57: this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.

5. From version 46 until version 55 (exclusive): this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.

See also

Document Tags and Contributors

Contributors to this page: wbamberg, fscholz, lth
Last updated by: wbamberg,