JavaScript Fundamentals

Dominando Comparações Numéricas em JavaScript

Spread the love

JavaScript oferece recursos robustos para comparação de números, um aspecto crucial na construção de aplicativos dinâmicos e responsivos. Este guia explora as técnicas fundamentais para comparar valores numéricos de forma eficaz.

Sumário

Operadores de Comparação

JavaScript fornece seis operadores de comparação primários para avaliar relações numéricas. Esses operadores retornam um valor booleano (true ou false).

Operador Descrição Exemplo Resultado
=== Igualdade Estrita (verifica o valor e o tipo) 5 === 5 true
!== Desigualdade Estrita 5 !== "5" true
> Maior Que 10 > 5 true
< Menor Que 5 < 10 true
>= Maior Que ou Igual A 10 >= 10 true
<= Menor Que ou Igual A 5 <= 10 true

Por que Igualdade Estrita (===)? Usar a igualdade estrita é geralmente recomendado para prevenir conversão de tipo inesperada. O operador de igualdade frouxa (==) realiza conversão de tipo antes da comparação, o que pode levar a erros.


5 == "5";  // true (ocorre conversão de tipo)
5 === "5"; // false (igualdade estrita; tipos são diferentes)

Operadores Lógicos

Operadores lógicos combinam múltiplas comparações, criando declarações condicionais complexas.

Operador Descrição Exemplo Resultado (se num1 = 10, num2 = 5)
&& E Lógico (ambas as condições devem ser verdadeiras) (num1 > 5) && (num2 < 10) true
|| OU Lógico (pelo menos uma condição deve ser verdadeira) (num1 0) true
! NÃO Lógico (inverte o valor booleano) !(num1 === num2) true

let score = 85;

if (score >= 90 && score = 80 && score < 90) {
  console.log("Nota B");
} else {
  console.log("Abaixo da Nota B");
}

Encadeamento de Comparações

Para um código mais limpo, encadeie comparações quando verificar se um número está dentro de um intervalo:


let age = 25;
if (18 <= age && age < 65) {
  console.log("Adulto");
}

Lidando com Casos Especiais (NaN, Infinity)

NaN (Not a Number) e Infinity requerem consideração especial:

  • NaN nunca é igual a si mesmo: NaN === NaN é false. Use isNaN() para verificar NaN.
  • Infinity e -Infinity têm comportamentos de comparação específicos.

isNaN(Number("hello")); // true
Infinity > 1000; // true
-Infinity < -1000; // true

Conclusão

Dominar as comparações numéricas em JavaScript é fundamental para construir aplicativos robustos. Usando eficazmente os operadores de comparação e lógicos, e compreendendo casos especiais, você pode criar código altamente funcional e confiável.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *