Atomics.add()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since December 2021.

Статический метод Atomics.add() добавляет значение к текущему по указанной позиции в массиве и возвращает предыдущее значение в этой позиции. Эта атомарная операция гарантирует, что никакой другой записи не произойдёт, пока изменённое значение не будет записано обратно.

Синтаксис

Atomics.add(typedArray, index, value)

Параметры

typedArray

Разделённый массив целых чисел. Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array или Uint32Array.

index

Позиция в typedArray для добавления value.

value

Число для добавления.

Возвращаемое значение

Предыдущее значение в указанной позиции (typedArray[index]).

Исключения

  • Выбрасывает TypeError, если тип typedArray не является одним из допустимых целочисленных типов.
  • Выбрасывает TypeError, если тип typedArray не общего типа.
  • Выбрасывает RangeError, если index вне typedArray.

Примеры

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

Atomics.add(ta, 0, 12); // возвращает 0, предыдущее значение
Atomics.load(ta, 0); // 12

Спецификации

Specification
ECMAScript Language Specification
# sec-atomics.add

Совместимость с браузерами

BCD tables only load in the browser

Смотрите также