Returns one of two expressions depending on a condition. Also referred to as "if…else shorthand".
test ? expression1 : expression2
- Any Boolean expression.
- An expression returned if test is true. May be a comma expression.
- An expression returned if test is false. More than one expression may be a linked by a comma expression.
The ?: operator can be used as a shortcut for an if…else statement. It is typically used as part of a larger expression where an if…else statement would be awkward. This example creates a string containing “Good evening.” if it is after 6pm, or “Good day.” otherwise.
var now = new Date(); var greeting = "Good" + ((now.getHours() > 17) ? " evening." : " day.");
The equivalent code using a regular if…else statement would look as follows:
var now = new Date(); var greeting = "Good"; if (now.getHours() > 17) greeting += " evening."; else greeting += " day.";
Microsoft Developer Network: Article