Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Como o codigo a seguir reconhece

Como o codigo a seguir reconhece o primeiro bloco da condicional como false e o segundo como true?

if (validaNumerosRepetidos(cpf) || validaPrimeiroDigito(cpf) || validaSegundoDigito(cpf)) {
        console.log("Esse cpf não existe!")
    } else {
            console.log("Existe!")
    }
1 resposta
solução!

Oi Eduardo!

Aqui, temos uma condicional if que verifica três funções de validação: validaNumerosRepetidos(cpf), validaPrimeiroDigito(cpf) e validaSegundoDigito(cpf).

A função validaNumerosRepetidos(cpf), verifica se todos os números do CPF são iguais, como "111.111.111-11". Se forem, a função retorna true, indicando que o CPF é inválido.

Já a validaPrimeiroDigito(cpf), valida o primeiro dígito verificador do CPF. Se o cálculo do primeiro dígito não bater com o dígito fornecido, a função retorna true, indicando que o CPF é inválido.

Por fim a validaSegundoDigito(cpf), valida o segundo dígito verificador do CPF. Se o cálculo do segundo dígito não bater com o dígito fornecido, a função retorna true, indicando que o CPF é inválido.

O operador || (ou) é usado para combinar essas três verificações. Então, se qualquer uma das funções retornar true, a mensagem "Esse cpf não existe!" será exibida. Isso significa que o CPF é considerado inválido se:

  • Os números forem repetidos,
  • O primeiro dígito verificador estiver incorreto,
  • Ou o segundo dígito verificador estiver incorreto.

Por outro lado, se todas as funções retornarem false, a mensagem "Existe!" será exibida, indicando que o CPF é válido.

Ou seja, as três são analisadas e podem ou não, serem true, e nesse caso o true é uma problemática, e um não impede o outro, afinal os números podem ser diferentes, tornando a primeira condição false, mas o cálculo do segundo digito retorna "true".

Nesse caso, como validaSegundoDigito(cpf) retornou true, a condição do if será satisfeita e a mensagem "Esse cpf não existe!" será exibida.

Reforço que em casos de dúvidas, conte sempre com o fórum da comunidade Alura! Bons estudos!

Sucesso

Um grande abraço e até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!