Friday, September 19, 2025
HomeLanguagesJavascriptJavaScript Atomics sub() Method

JavaScript Atomics sub() Method

Among the Atomic Operations, there is a method Atomics.sub() that is used to subtract a given value at a given position in the array and return the old value at that position. No other write operation can happen until the modified value is written back.

Syntax: 

Atomics.sub(typedArray, index, value)

Parameters: 

  • typedarray: It is the shared integer typed array you want to modify.
  • index: It is the position in the typedArray from where you want to subtract a value from.
  • value : It is the number you want to subtract.

Return Value: Atomics.sub() returns the old value at the given position (typedArray[index]). 

Examples of the above function are provided below.

Examples: 

Input : arr[0] = 9;
        Atomics.sub(arr, 0, 3);
Output : 9
 
Input : arr[0] = 3; 
        Atomics.sub(arr, 0, 2);
Output : 3

Examples of the above function are provided below.

Example 1:  

javascript




// creating a SharedArrayBuffer
let buf = new SharedArrayBuffer(25);
let arr = new Uint8Array(buf);
// Initialising element at zeroth position of array with 9
arr[0] = 9;
  
// Displaying the return value of the Atomics.sub() method 
console.log(Atomics.sub(arr, 0, 3));
  
// Displaying the updated SharedArrayBuffer 
console.log(Atomics.load(arr, 0));


Output : 

9
6

Example 2: 

javascript




// creating a SharedArrayBuffer 
let buf = new SharedArrayBuffer(25);
let arr = new Uint8Array(buf);
  
// Initialising element at zeroth position of array with 3
arr[0] = 3;
  
// Displaying the return value of the Atomics.sub() method 
console.log(Atomics.sub(arr, 0, 2));
  
// Displaying the updated SharedArrayBuffer 
console.log(Atomics.load(arr, 0));


Output: 

3
1

Application: Whenever we want to update(subtract) a value at a specified position in a given array and want the older value which was at that position to be returned, we use the Atomics.sub() operation in JavaScript.

Example:

javascript




// creating a SharedArrayBuffer 
let mybuffer = new SharedArrayBuffer(25);
let myarray = new Uint8Array(mybuffer);
  
// Initialising the element at zeroth position of array
myarray[0] = 40;
  
// Displaying the return value of the Atomics.sub() method
console.log(Atomics.sub(myarray, 0, 20));
  
// Displaying the updated SharedArrayBuffer 
console.log(Atomics.load(myarray, 0));


Output : 

40
20

Exceptions :

  • If the typedArray is not one of the allowed integer types then the Atomics.sub() operation throws a TypeError.
  • If the typedArray is not a shared typed array then the Atomics.sub() operation throws a TypeError.
  • If the index used as an argument to the Atomics.sub() operation is out of the bound in the typedArray then the Atomics.sub() operation throws a RangeError.

Supported Browser:

  • Google Chrome
  • Microsoft Edge
  • Firefox
  • Opera
  • Safari

We have a complete list of Javascript Atomic methods, to check those please go through this JavaScript Atomics Complete Reference article.

We have a Cheat Sheet on Javascript where we covered all the important topics of Javascript to check those please go through Javascript Cheat Sheet-A Basic guide to JavaScript.  

Whether you’re preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape, neveropen Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we’ve already empowered, and we’re here to do the same for you. Don’t miss out – check it out now!
RELATED ARTICLES

Most Popular

Dominic
32301 POSTS0 COMMENTS
Milvus
84 POSTS0 COMMENTS
Nango Kala
6665 POSTS0 COMMENTS
Nicole Veronica
11840 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11898 POSTS0 COMMENTS
Shaida Kate Naidoo
6781 POSTS0 COMMENTS
Ted Musemwa
7056 POSTS0 COMMENTS
Thapelo Manthata
6739 POSTS0 COMMENTS
Umr Jansen
6744 POSTS0 COMMENTS