Spec-Zone.ru › JavaScript

Atomics.sub()

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

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

The Atomics.sub() статический метод вычитает заданное значение из указанной позиции в массиве и возвращает старое значение, находившееся в этой позиции. Эта атомарная операция гарантирует, что никакая другая запись не произойдет до тех пор, пока измененное значение не будет записано обратно.

Синтаксис

Atomics.sub(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.sub()

// 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] = 48;

// 48 - 12 = 36
console.log(Atomics.sub(ta, 0, 12)); // 48, the old value
console.log(Atomics.load(ta, 0)); // 36, the new/current value

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

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

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

Десктопные Мобильные Серверные
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
sub
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.add()

© 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/sub

Spec-Zone.ru

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