Spec-Zone.ru › JavaScript

Atomics.add()

Базовая линия Широко доступна

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и в различных версиях браузеров. Она доступна во всех браузерах с декабря 2021 года.

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

Синтаксис

Atomics.add(typedArray, index, value)

Параметры

typedArray
Целочисленный типизированный массив. Один из Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, BigInt64Array или BigUint64Array.
index
Позиция в typedArray, к которой добавляется value.
value
Число для добавления.

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

Старое значение в заданной позиции (typedArray[index]).

Исключения

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

Примеры

Обратите внимание, что эти примеры нельзя запускать напрямую из консоли или произвольной веб-страницы, поскольку SharedArrayBuffer не определен, если не выполнены его требования безопасности.

Использование Atomics.add()

// Create a SharedArrayBuffer with a size in bytes
const sab = new SharedArrayBuffer(1024);
// Create a view and set the value of the 0 index
const ta = new Uint8Array(sab);
ta[0] = 7;

// 7 + 12 = 19
console.log(Atomics.add(ta, 0, 12)); // 7, the old value
console.log(Atomics.load(ta, 0)); // 19, the new/current value

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

Спецификация
ECMAScript® 2027 Language Specification
# sec-atomics.add

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

Настольные компьютеры Мобильные устройства Сервер
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari on iOS Samsung Internet WebView Android WebView on iOS Bun Deno Node.js
add
68
79
78
55
15.2
89
79
63
15.2
15.0
89
15.2
1.0.0
1.0
8.10.0

См. также

  • Atomics
  • Atomics.sub()

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Atomics/add

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API