Ternary conditional operator
Ternary conditional operator
Main page

Ternary conditional operator

logo
Community Hub0 subscribers
What are your thoughts?
Be the first to start a discussion here.
Be the first to start a discussion here.
Ternary conditional operator

In computer programming, the ternary conditional operator is a ternary operator that evaluates to one of two values based on a Boolean expression. The operator is also known as conditional operator, ternary if, immediate if, or inline if (iif). Although many ternary operators are theoretically possible, the conditional operator is commonly used and other ternary operators rare, so the conditional variant is commonly referred to as the ternary operator.

Typical syntax for an expression using the operator is like if a then b else c or a ? b : c. One can read it aloud as "if a then b otherwise c". The form a ? b : c is the most common, but alternative syntax exists. For example, Raku uses the syntax a ?? b !! c to avoid confusion with the infix operators ? and !, whereas in Visual Basic, it takes the form If(a, b, c).

The construct first appeared in CPL, in which equivalent syntax for a ? b : c is a → b, c.

The value of the operator can be assigned to a variable. For a weakly typed language, the data type of the selected value may determine the type of the assigned value. For a strongly typed language, both value expressions must evaluate to a type that is compatible with the target variable.

The operator is similar to the way conditional expressions (if-then-else) work in functional programming languages, like Scheme, ML, Haskell, and XQuery, since if-then-else forms an expression instead of a statement in those languages.

The operator allows for initializing a variable via a single statement which otherwise might require multiple statements. Use in variable assignment reduces the probability of a bug from a faulty assignment as the assigned variable is stated only once.

For example, in Python:

instead of:

See all
User Avatar
No comments yet.