Noções básicas de JavaScript: operadores ternários

Mar 23 2023
O que é um operador ternário? O operador ternário é usado para verificar as condições em seu código em vez de usar uma instrução if…else. Também é chamado de operador condicional e torna o código consideravelmente mais curto e fácil de ler (na maioria das vezes).
Foto de Tsvetoslav Hristov no Unsplash

O que é um operador ternário?

O operador ternário é usado para verificar as condições em seu código em vez de usar uma instrução if…else. Também é chamado de operador condicional e torna o código consideravelmente mais curto e fácil de ler (na maioria das vezes).

Sintaxe

Vamos dar uma olhada na sintaxe de um operador ternário:

condition ? trueExpression : falseExpression

condition — a condição que você está avaliando. Ex.: Tem idade > 5.

trueExpression: isso é o que deve acontecer se o conditionfortrue.

falseExpression: isso é o que deve acontecer se o conditionforfalse.

Exemplo

Abaixo está um exemplo usando uma instrução if…else verificando se o carro deve se mover com base na cor do semáforo.

let color = ‘red’; // color of the traffic light
let carMovement;

if (color === 'red') {
  carMovement = 'stop';
} else {
  carMovement = 'go';
}

console.log(carMovement); //stop

let color = 'red'; // color of the traffic light
let carMovement = color === red ? 'stop' : 'go';

console.log(carMovement); //stop

Você também pode aninhar ou encadear um operador ternário como uma expressão dentro de outro operador ternário. Abaixo está um exemplo para verificar se um número é positivo, negativo ou zero:

let num = 2;
let result = num >= 0 ? num === 0 ? 'zero' : 'positive' : 'negative';

console.log(result); //positive

let num = 2;
let result = (num >= 0) ? (num === 0 ? "zero" : "positive") : "negative";

console.log(result); //positive

Quando você deve usar operadores ternários?

Como o exemplo acima destacado, os operadores ternários podem tornar o código mais curto, mas ao usar operadores ternários aninhados complexos, eles tendem a tornar o código menos legível e mais confuso.

Uma regra prática seria pensar se alguém nos próximos 2 anos será capaz de ler e entender seu código com facilidade. Se a resposta for não — use uma instrução if…else.

Dica: Se estiver usando ESlint, ele proíbe totalmente o uso de operadores ternários aninhados!

Conclusão

Os operadores ternários se destacam apenas quando tornam o código mais fácil de ler, entender e manter. Eles não são apenas para tornar o código mais curto, então use-os de forma eficaz.