DEV Community

Cover image for What is the ternary operator and how do I use it?
Isabelle M.
Isabelle M.

Posted on • Originally published at 30secondsofcode.org

1

What is the ternary operator and how do I use it?

JavaScript's ternary operator (?:), also called the conditional operator, is used to replace a conditional statement, most commonly an assignment. For example:

// Code using if...else
let x;
if (someCondition) {
  x = 10;
} else {
  x = 20;
}

// Same result using the ternary operator
const x = someCondition ? 10 : 20;
Enter fullscreen mode Exit fullscreen mode

As you can tell from the above example, the ternary operator is shorter than using an if...else statement and allows us to assign the resulting value to a variable, provided the condition is pretty much a one-liner. A useful result of this is that we can use the ternary operator for arrow functions with implicit returns:

// Code using if...else
const conditionalX = (condition, x) => {
  if (condition) return x;
  else return x + 5;
}

// Same result using the ternary operator
const conditionalX = (condition, x) => condition ? x : x + 5;
Enter fullscreen mode Exit fullscreen mode

Note, however, that nesting ternary expressions is usually discouraged with ESLint even going as far as having a dedicated rule for this kind of situation. Additionally, the ternary operator is a favorite of React developers, as it allows for easy conditional rendering in JSX code:

const ItemListTitle = (count) => (
  <h3>Item list{ count ? (<span> - {count} items</span>) : '(Empty)'}<h3>
);
Enter fullscreen mode Exit fullscreen mode

Finally, you might be wondering why it's called the "ternary" operator. The word "ternary" is based on the n-ary word setup and means an operator with three operands (condition, expression to execute if truthy, expression to execute if falsy).


Do you like short, high-quality code snippets and articles? So do we! Visit 30 seconds of code for more articles like this one or follow us on Twitter for daily JavaScript, React and Python snippets! 👨‍💻

AWS Security LIVE!

Join us for AWS Security LIVE!

Discover the future of cloud security. Tune in live for trends, tips, and solutions from AWS and AWS Partners.

Learn More

Top comments (0)

SurveyJS custom survey software

JavaScript Form Builder UI Component

Generate dynamic JSON-driven forms directly in your JavaScript app (Angular, React, Vue.js, jQuery) with a fully customizable drag-and-drop form builder. Easily integrate with any backend system and retain full ownership over your data, with no user or form submission limits.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay