MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-dev-survey

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 Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, ou 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

  • Lança uma exceção TypeError, se o typedArray não for um dos tipos de inteiro permitidos.
  • Lança uma exceção TypeError, se o typedArray não for tipo array tipado compartilhado.
  • Lança uma exceção RangeError, se o index estiver fora dos limites no typedArray.

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
ECMAScript Latest Draft (ECMA-262)
The definition of 'Atomics.add' in that specification.
Padrão em tempo real Definição inicial no ES2017.

Compatibilidade dos browsers

Recurso Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari
Suporte básico Não suportado [2] Não suportado 55 (55) [1] Não suportado Não suportado Não suportado
Recurso Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Suporte básico Não suportado Não suportado 55.0 (55) [1] Não suportado Não suportado Não suportado

[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

Etiquetas do documento e colaboradores

 Colaboradores desta página: AlanCezarAraujo
 Última atualização por: AlanCezarAraujo,