Files
30-seconds-of-code/articles/snippets/javascript-ternary-operator.md
2023-05-01 23:10:21 +03:00

1.9 KiB

title, shortTitle, type, tags, cover, excerpt, dateModified
title shortTitle type tags cover excerpt dateModified
What is the ternary operator and how do I use it? Ternary operation introduction question
javascript
condition
red-succulent Learn everything you need to know about the conditional (ternary) operator and how to use it in JavaScript. 2021-06-12T19:30:41+03:00

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;

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;

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>
);

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).