Is it possible to do something like this in JavaScript?
max = (max < b) ? b;
In other words, assign value only if the condition is true. If the condition is false, do nothing (no assignment). Is this possible?
Don't use the ternary operator then, it requires a third argument. You would need to reassign max
to max
if you don't want it to change (max = (max < b) ? b : max
).
An if-statement is much more clear:
if (max < b) max = b;
And if you need it to be an expression, you can (ab)use the short-circuit-evaluation of AND:
(max < b) && (max = b)
Btw, if you want to avoid repeating variable names (or expressions?), you could use the maximum function:
max = Math.max(max, b);