W3cubDocs

/JavaScript

Atomics.store

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

Feature Chrome Edge Firefox Internet Explorer Opera Safari
Basic support 601 No2

573 4

55 — 57

46 — 555

No No 10.1 —?
Feature Android webview Chrome for Android Edge mobile Firefox for Android Opera Android iOS Safari Samsung Internet
Basic support 601 601 ?

573 4

55 — 57

46 — 555

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

© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Atomics/store