Elvis operator
In certain computer programming languages, the Elvis operator, often written ?:
, is a binary operator that returns its first operand if that operand evaluates to a true value, and otherwise evaluates and returns its second operand. This is identical to a short-circuit or with "last value" semantics. The notation of the Elvis operator was inspired by the ternary conditional operator, ? :
, since the Elvis operator expression A ?: B
is approximately equivalent to the ternary conditional A ? A : B
.
The name "Elvis operator" refers to the fact that when its common notation, ?:
, is viewed sideways, it resembles an emoticon of Elvis Presley with his signature hairstyle.
A similar operator is the null coalescing operator, where the boolean truth check is replaced with a check for non-null instead. This is usually written ??
, and can be seen in languages like C#.