--- title: Atomics.add() slug: Web/JavaScript/Reference/Global_Objects/Atomics/add tags: - Atomics - Atômico - JavaScript - Memória Compartilhada - metodo translation_of: Web/JavaScript/Reference/Global_Objects/Atomics/add ---
{{JSRef}}

O método estátitico Atomics.add() adiciona um dado valor em uma determinada posição no array e retorna o valor antigo daquela posição. Esta operação atômica garante que nenhuma outra escrita ocorra até que o valor modificado seja escrito de volta.

Sintaxe

Atomics.add(typedArray, index, value)

Parâmetros

typedArray
Um array tipado de inteiros compartilhado. Pode ser {{jsxref("Int8Array")}}, {{jsxref("Uint8Array")}}, {{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}}, ou {{jsxref("Uint32Array")}}.
index
A posição no typedArray onde o value será adicionado.
value
Número que será adicionado.

Valor de retorno

O valor antigo na determinada posição (typedArray[index]).

Exceções

Exemplos

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

Atomics.add(ta, 0, 12); // retorna 0, o valor antigo
Atomics.load(ta, 0); // 12

Especificações

Especificação Status Comentário
{{SpecName('ESDraft', '#sec-atomics.add', 'Atomics.add')}} {{Spec2('ESDraft')}} Definição inicial no ES2017.

Compatibilidade dos browsers

{{CompatibilityTable}}

Recurso Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari
Suporte básico {{CompatNo}} [2] {{CompatNo}} {{CompatGeckoDesktop("55")}} [1] {{CompatNo}} {{CompatNo}} {{CompatNo}}
Recurso Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Suporte básico {{CompatNo}} {{CompatNo}} {{CompatGeckoMobile("55")}} [1] {{CompatNo}} {{CompatNo}} {{CompatNo}}

[1] No Firefox da versão 46 até a versão 54, este recurso fica desabilitado por uma configuração. Em about:config, altere o javascript.options.shared_memory para true

[2] A implementação está sob desenvolvimento e necessita dessas flags de runtime: --js-flags=--harmony-sharedarraybuffer --enable-blink-feature=SharedArrayBuffer

Veja também