*** Welcome to piglix ***

Elvis operator


In certain computer programming languages, the Elvis operator ?: is a binary operator that returns its first operand if that operand is true, and otherwise evaluates and returns its second operand. It is a variant of the ternary conditional operator, ? :, found in those languages (and many others): the Elvis operator is the ternary operator with its second operand omitted.

In a language that supports the Elvis operator, something like this:

will set x equal to the result of f() if that result is a true value, and to the result of g() otherwise.

It is equivalent to this:

except that it does not evaluate the f() twice if it is true.

The name "Elvis operator" refers to its resemblance to an emoticon of Elvis Presley.

In several languages, such as Perl, Python, and JavaScript, the OR operator (typically || or or) has the same behavior as the above: returning its first operand if it would evaluate to true in a boolean environment, and otherwise evaluating and returning its second operand.

While Elvis operator compares to boolean false, Null coalescing operator compares to null.


...
Wikipedia

...