One line if/else in JavaScript [duplicate]
I have some logic that switches(with and else/if) true/false with on/off but I would like to make is more condensed and not use a switch statement. Ideally the if/else would be converted into something that is one short line. Thank you!!!
var properties = {};
var IsItMuted = scope.slideshow.isMuted();
if (IsItMuted === true) {
properties['Value'] = 'On';
} else {
properties['Value'] = 'Off';
}
Solution 1:
You want a ternary operator:
properties['Value'] = (IsItMuted === true) ? 'On' : 'Off';
The ? :
is called a ternary operator and acts just like an if
/else
when used in an expression.
Solution 2:
You can likely replace your if
/else
logic with the following to give you a "one-liner"
properties['Value'] = scope.slideshow.isMuted() ? 'On' : 'Off';
see Conditional (ternary) Operator for more info