Atomics.store()
En esta página
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 {{jsxref("Atomics.exchange()")}} instead.
Syntax#
Atomics.store(typedArray, index, value)
Parameters#
typedArray- : An integer typed array. One of {{jsxref("Int8Array")}}, {{jsxref("Uint8Array")}}, {{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}}, {{jsxref("Uint32Array")}}, {{jsxref("BigInt64Array")}}, or {{jsxref("BigUint64Array")}}.
index- : The position in the
typedArrayto store avaluein. value- : The number to store.
Return value#
The value that has been stored.
Exceptions#
- {{jsxref("TypeError")}}
- : Thrown if
typedArrayis not one of the allowed integer types. - {{jsxref("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#
{{Specifications}}
Browser compatibility#
{{Compat}}
See also#
- {{jsxref("Atomics")}}
- {{jsxref("Atomics.load()")}}
- {{jsxref("Atomics.exchange()")}}