2
respostas

Melhorando a legibilidade do código com o operador ternário

Olá, trouxe uma alternativa ao script da aula para exibir a mensagem de erro abaixo do input selecionado.

Código da aula

if (!validadorDeInput) {
        mensagemErro.textContent = mensagem;
    } else {
        mensagemErro.textContent = "";
}

Refatorando com operador ternário

!validadorDeInput? 
        (messageErro.textContent = mensagem)
        : (messageErro.textContent = '');

Explicação:

O operador condicional (ternário) é o único operador JavaScript que possui três operandos. Este operador é frequentemente usado como um atalho para a instrução ** if**

Se a condição é verdadeira, o operador retornará o valor da expressão1; se não, ele retorna o valor de expressão2. Por exemplo, para exibir uma mensagem diferente baseada no valor do input, você poderá utilizar o código (statement) seguinte:

const isValid = input.checkValidity();
isValid? 'Exibir mensagem de erro aqui' : 'Não exibir nenhuma mensagem'

*Note que isValid? É a nossa pergunta, seguido de duas opções de resposta em caso seja verdade ou falso. *

2 respostas

Olá, João!

Obrigada por compartilhar sua alternativa de código utilizando o operador ternário para melhorar a legibilidade do código de validação de formulários em JavaScript. O operador ternário é uma ótima opção para simplificar a escrita de condicionais e tornar o código mais conciso.

Essa é uma forma eficiente de exibir mensagens de erro de forma mais concisa e legível. No entanto, é importante lembrar que o operador ternário deve ser utilizado com cautela para não comprometer a legibilidade do código em lógicas muito complexas, o bom e velho if, pode ser mais fácil de compreender, mas nesse exemplo ele foi muito bem utilizado, boa!

Obrigado por compartilhar essas dicas valiosas e pela elaboração do tópico, a comunidade Alura agradece!

Olá, Victor! Brigadão fico feliz em compartilhar o que aprendi na Alura.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software