Conditional (Ternary) Operator (?:)
Returns one of two expressions depending on a condition.
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. May be 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. For example:
var now = new Date(); var greeting = "Good" + ((now.getHours() > 17) ? " evening." : " day.");
The example creates a string containing "Good evening." if it is after 6pm. The equivalent code using an if...else statement would look as follows:
var now = new Date(); var greeting = "Good"; if (now.getHours() > 17) greeting += " evening."; else greeting += " day.";