Skip to content Skip to sidebar Skip to footer

Typescript Ternary Operator Short Form

I am inside a for loop trying to add up a number. The code is working fine, but I was asking myself if there might be shorter form for the following line: price = ve.select ? price

Solution 1:

You have several options:

  1. An if statement

    if (ve.select) {
        price += ve.price;
    }
    

    Or if you prefer it on one line:

    if (ve.select) price += ve.price;
    
  2. The conditional operator version you've shown:

    price = ve.select ? price + ve.price : price;

    ...but note that it does an unnecessary assignment when ve.select is falsy (though as price is presumably a simple variable that's not an issue; with an object property that might be an accessor property it can matter).

  3. Using the && (logical AND) operator:

    ve.select && price += ve.price;
    

    But note that this is really just an if statement in disguise.

  4. Tamás Sallai's answer providing an alternative use of the conditional operator (price += ve.select ? ve.price : 0;).

Solution 2:

I'd reverse the ternary and use +=:

price += ve.select ? ve.price : 0;

Post a Comment for "Typescript Ternary Operator Short Form"