[This is preliminary documentation and subject to change]
Executes one of two statements depending on a condition.
test ? statement1 : statement2
test
Any Boolean expression..
statement1
A statement executed if test is true. May be a compound statement.
statement2
A statement executed if test is false. May be a compound statement.
The ?: operator is 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.";
if...else Statement | Operator Precedence | Operator Summary