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:
An
if
statementif (ve.select) { price += ve.price; }
Or if you prefer it on one line:
if (ve.select) price += ve.price;
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 asprice
is presumably a simple variable that's not an issue; with an object property that might be an accessor property it can matter).Using the
&&
(logical AND) operator:ve.select && price += ve.price;
But note that this is really just an
if
statement in disguise.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"