--- title: Atomics.add() slug: Web/JavaScript/Reference/Global_Objects/Atomics/add translation_of: Web/JavaScript/Reference/Global_Objects/Atomics/add ---
Статический метод Atomics
.add()
добавляет значение к текущему по указанной позиции в массиве и возвращает предыдущее значение в этой позиции. Эта атомарная опреация гарантирует, что никакой другой записи не произойдет, пока измененное значение не будет записано обратно.
Atomics.add(typedArray, index, value)
typedArray
index
typedArray
для добавления value
.value
Предыдущее значение в указанной позиции (typedArray[index]
).
typedArray
не является одним из допустимых тцелочисленных типов.typedArray
не общего типа.index
вне typedArray
.var sab = new SharedArrayBuffer(1024); var ta = new Uint8Array(sab); Atomics.add(ta, 0, 12); // возвращает 0, предыдущее значение Atomics.load(ta, 0); // 12
Specification | Status | Comment |
---|---|---|
{{SpecName('ESDraft', '#sec-atomics.add', 'Atomics.add')}} | {{Spec2('ESDraft')}} | Initial definition in ES2017. |
{{CompatibilityTable}}
Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Basic support | {{CompatNo}} [2] | {{CompatNo}} | {{CompatGeckoDesktop("55")}} [1] | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | {{CompatNo}} | {{CompatNo}} | {{CompatGeckoMobile("55")}} [1] | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} |
[1] In Firefox version 46 until version 54, this feature is disabled by a preference setting. In about:config, set javascript.options.shared_memory
to true
.
[2] The implementation is under development and needs these runtime flags: --js-flags=--harmony-sharedarraybuffer --enable-blink-feature=SharedArrayBuffer