1
resposta

[Dúvida] 'trim', '===', e 'isNaN

Eu fiquei com dúvidas sobre o Desafio 1: Validação de Entrada e então fui ver o comentário do instrutor para saber como deveria escrever o código e lá estava o seguinte código:

// Verificar se o produto selecionado é válido
    if (!produto || produto.trim() === "") {
        alert("Selecione um produto válido.");
        return;
    }


    // Verificar se a quantidade inserida é válida
    if (isNaN(quantidade) || quantidade <= 0) {
        alert("Insira uma quantidade válida.");
        return;
    }

Não foi mostrado no curso ainda a funcionalidade de 'trim', 'isNaN' e '==='. Será que alguém conseguiria explicar de maneira resumida para que servem esses 3 elementos?

1 resposta

Oi Cláudio,

Com certeza! Vamos esclarecer suas dúvidas sobre trim, === e isNaN. 👍

  • trim(): Esta função é usada em strings para remover espaços em branco (como espaços, tabulações e quebras de linha) do início e do fim da string. Isso é útil para garantir que entradas de texto não tenham espaços extras que possam causar problemas na validação. Por exemplo, " Olá Mundo ".trim() resultaria em "Olá Mundo".

  • ===: Este é o operador de igualdade estrita. Ele compara tanto o valor quanto o tipo dos operandos. Ou seja, 10 === "10" retornaria false porque, apesar de terem o mesmo valor, um é um número e o outro é uma string. Já 10 === 10 retornaria true. Ele é diferente do ==, que faz uma comparação com conversão de tipo, o que pode levar a resultados inesperados.

  • isNaN(): Esta função verifica se um valor não é um número (Not a Number). Ela retorna true se o valor não puder ser convertido em um número válido e false caso contrário. Por exemplo, isNaN("123") retorna false, pois "123" pode ser convertido em um número, enquanto isNaN("abc") retorna true. 🤔

No contexto do seu código, produto.trim() === "" verifica se a string produto, após remover espaços em branco, está vazia. E isNaN(quantidade) verifica se a variável quantidade não é um número válido. 💪

Para saber mais: Documentação da MDN sobre operadores de comparação - Explore a documentação oficial da Mozilla para entender melhor os operadores de comparação em JavaScript.

Continue praticando e explorando, você está no caminho certo! 💻