operand1 ? operand2
If operand1 does not result in Undefined, its value is the result of the expression. Otherwise, the value of operand2 is the result of the expression.
Note that operand2 is not evaluated if operand1 is defined. For example, the result of the following expression is 5:
5 ? func_that_loops_forever()