Destaque PrincipalJavaScript

Como usar o Operador Ternário do JavaScript

Neste post vamos falar sobre o Operador Ternário em JavaScript. Discutiremos o que é o operador ternário, como é usado, quando usá-lo e como ele se compara com: if/else, if/else if/elsee switch.

O que é o Operador Ternário do JavaScript

O operador ternário em JavaScript é um operador denotado pelo ponto de interrogação, ? , que avalia uma expressão condicional passada antes dele e executa um bloco de código com base na decisão da expressão condicional. Ele aceita os possíveis blocos a serem executados como dois outros operandos que vêm depois do ? operador – o terceiro separado do segundo por dois pontos, : .

Sua sintaxe fica assim:

Precisando de uma hospedagem de site ou de um servidor dedicado personalizado, seja para ambiente de teste, desenvolvimento ou de produção? E com um suporte de especialistas, que ti, ajudam a resolver os problemas o mais rápido possível? A SoloWeb tem o prazer em ti, ajudar com isso. Entre em contato conosco e faça uma cotação agora mesmo, acesse: www.soloweb.com.br.
expressaoCondicional ? retornoSeVerdadeiro : retornoSeFalso ;

Se a expressaoCondicional for avaliada para um valor verdadeiro retornoSeVerdadeiro é executada. Se for avaliado como um valor falso, retornoSeFalso é executado.

Como usar o operador ternário

Podemos usar o operador ternário quando precisamos decidir o valor de retorno de uma variável de duas ou mais opções com base em uma condição que passamos como primeiro operando. O código abaixo mostra como:


const estudante = 'João';
const bemVindoEstudante = estudante ? `Bem vindo, ${estudante}!` : "Bem Vindo Convidado!";

console.log(bemVindoEstudante); 

// Saída:
// Bem vindo, João!

No trecho acima, estudante ? é avaliada a expressão antes da ? como uma condição booleana, perguntando se estudante é verdadeira. Por esse motivo, o operador ternário, ? , também é chamado de operador condicional.

O valor dessa expressão condicional é usado para decidir o valor da variável armazenada, bemVindoEstudante. Se o operando condicional for avaliado como um valor verdadeiro, o segundo operando, ou seja, o valor antes dos dois pontos, : , é retornado para bemVindoEstudante. Se for avaliado como falso, o terceiro operando, ou seja, aquele após o : é retornado.

Em JavaScript, os valores falsos incluem false , 0 , -0 , “” , null undefined e NaN Todos os outros valores são considerados verdadeiros.

Quando usar

O caso de uso mais comum do operador ternário é quando há apenas dois resultados possíveis, ou seja, como uma alternativa abreviada da if/elseconstrução. O uso do operador ternário torna o código mais legível e geralmente ocupa menos linhas.

Como no exemplo acima, pode ser usado para retornar o valor de uma variável diretamente.

Também pode ser usado quando precisamos retornar um valor de uma função:

// Com if/else

const bemVindoEstudante = student => {
  if (student) {
    return `Bem vindo, ${student.name}!`;
  } else {
    return "Bem vindo, convidado!";
  };
};

console.log(bemVindoEstudante({ name: 'Carlos' })); 
// Saída:
// Bem vindo, Carlos!

console.log(bemVindoEstudante()); 
// Saída
// Bem vindo, convidado!!


// Com operador ternário
const bemVindoEstudante = student => student ? `Bem vindo, ${student.name}!` : "Bem vindo, convidado!";

console.log(bemVindoEstudante({ name: 'Carlos' })); 
// Saída:
// Bem vindo, Carlos!

console.log(bemVindoEstudante()); 
// Saída:
// Bem vindo, convidado!

Como podemos ver, o operador ternário simplifica o código para uma linha. Tornou o código mais legível e a lógica fácil de seguir.

Operador ternário encadeado

Podemos encadear operadores ternários para emular uma if/else if/else ou um switch:

// Com if/else if/else
const grade = mark => {
  if (mark > 100) {
    return;
  } else if (mark > 80) {
    return 'A';
  } else if (mark > 70) {
    return 'B';
  } else if (mark > 60) {
    return 'C';
  } else if (mark > 50) {
    return 'D';
  } else {
    return 'F';
  };
};

console.log(grade(100)); 
// Saída:
// A

console.log(grade(1000)); 
// Saída
// undefined

console.log(grade(10)); 
// Saída
// F

// Com operadores ternários encadeados
const grade = mark => mark > 100 ? undefined
                      : mark > 80 ? 'A'
                      : mark > 70 ? 'B'
                      : mark > 60 ? 'C'
                      : mark > 50 ? 'D'
                      : 'F';

console.log(grade(100)); 
// Saída:
// A

console.log(grade(1000)); 
// Saída:
// undefined

console.log(grade(10)); 
// Saída:
// F

Aqui, encadeamos o operador condicional no terceiro operando do operador ternário em cada nível.

Muitos desenvolvedores não preferem operadores ternários aninhados como este porque várias verificações condicionais prejudicam a legibilidade, em vez de melhorá-la. Ao contrário do encadeamento de operadores ternários, o uso de instruções simples if/else if/else ou simples switch é recomendado quando há várias bifurcações em um fluxo de controle.

Neste artigo, exploramos o uso do operador ternário em JavaScript. Vimos dois casos comuns que melhoram a legibilidade do código, um envolvendo uma variável e o outro uma expressão de função que retorna um valor com base na avaliação de uma expressão condicional dentro de uma função.

Os operadores ternários podem ser encadeados para emular if/else if/else e switchr, mas a maneira recomendada é manter as construções posteriores porque o encadeamento de vários operadores ternários é contraproducente em termos de legibilidade.

Esperamos ter ajudado com mais esta dica, e siga nos, nas redes sociais para mais tutoriais www.soloweb.com.br.

Esperamos ter ajudado com mais esta dica, e siga nos, nas redes sociais para mais tutoriais, e se precisar de nossa ajuda estamos a disposição: www.soloweb.com.br.

E lembrando que a SOLOWEB além de oferecer Hospedagem de Sites, Servidores Dedicados, Servidores VPS com o menor custo do Brasil, também desenvolve soluções de software e realiza gerenciamento e monitoramento de servidores para sua empresa, faça uma cotação sem custo, acesse: www.soloweb.com.br