DEV Community

Cover image for Js Devs: Position of you ++ or — matters
Chocoscoding - Oyeti Timileyin
Chocoscoding - Oyeti Timileyin

Posted on

1

Js Devs: Position of you ++ or — matters

JavaScript provides powerful operators for manipulating numeric values ++ for incrementing and -- for decrementing. Understanding the nuances between postfix and prefix usage is crucial for precise programming.

Postfix Increment and Decrement

Postfix increment and decrement operators (i++ and i--) are used to change the value of a variable after its current value is used in an expression.

let i = 5;
console.log(i++); // Outputs: 5 (uses current value, then increments)
console.log(i);   // Outputs: 6 (value has been incremented)
Enter fullscreen mode Exit fullscreen mode

Prefix Increment and Decrement

Prefix increment and decrement operators (++i and --i) are used to change the value of a variable before its current value is used in an expression.

let i = 5;
console.log(++i); // Outputs: 6 (increments first, then uses the updated value)
console.log(i);   // Outputs: 6 (value has been incremented)
Enter fullscreen mode Exit fullscreen mode

An extra example

  • With postfix
// Postfix decrement: prev--
let inventoryCount = 5;

function processSalePostfix() {
  if (inventoryCount > 0) {
    console.log("Item sold! Remaining inventory:", inventoryCount--);
  } else {
    console.log("Item out of stock!");
  }
}

// Simulate sales
processSalePostfix(); // Output: Item sold! Remaining inventory: 5
processSalePostfix(); // Output: Item sold! Remaining inventory: 4
processSalePostfix(); // Output: Item sold! Remaining inventory: 3
Enter fullscreen mode Exit fullscreen mode

In this scenario, with postfix decrement, the current inventory count is logged, and then the inventory count is decremented. This might be useful if you want to display the current inventory count before processing the sale.

  • with prefix
// Prefix decrement: --prev
let inventoryCount = 5;

function processSalePrefix() {
  if (--inventoryCount > 0) {
    console.log("Item sold! Remaining inventory:", inventoryCount);
  } else {
    console.log("Item out of stock!");
  }
}

// Simulate sales
processSalePrefix(); // Output: Item sold! Remaining inventory: 4
processSalePrefix(); // Output: Item sold! Remaining inventory: 3
processSalePrefix(); // Output: Item sold! Remaining inventory: 2
Enter fullscreen mode Exit fullscreen mode

In this scenario, with prefix decrement, the inventory count is decremented before checking if it's greater than 0. This might be useful if you want to ensure that the inventory count is updated before any other operations, such as logging or further processing.

Conclusion

In summary, postfix increment/decrement is useful when you need the current value before the change, and prefix increment/decrement is ideal when you need the updated value after the change. This nuanced understanding will undoubtedly enhance your proficiency as a JavaScript developer.

NOTE FOR REACT DEVELOPERS: Be careful with postfix if your values may be used before a rerender.

Thanks for your time 🙂👍.

Heroku

Build apps, not infrastructure.

Dealing with servers, hardware, and infrastructure can take up your valuable time. Discover the benefits of Heroku, the PaaS of choice for developers since 2007.

Visit Site

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay