Comparação JavaScript

Comparação e operadores lógicos são usados para testar verdadeiro Ou falso.

Operadores de comparação

Os operadores de comparação são usados em frases lógicas para determinar se uma variável ou valor é igual.

Damos x = 5, a tabela a seguir explica os operadores de comparação:

Operador Descrição Comparar Retornar Teste
== Igual x == 8 falso Experimente
x == 5 verdadeiro Experimente
x == "5" verdadeiro Experimente
=== Os valores são iguais e os tipos são iguais x === 5 verdadeiro Experimente
x === "5" falso Experimente
!= Diferente x != 8 verdadeiro Experimente
!== Os valores são diferentes ou os tipos são diferentes x !== 5 falso Experimente
x !== "5" verdadeiro Experimente
x !== 8 verdadeiro Experimente
> Maior que x > 8 falso Experimente
< Menor que x < 8 verdadeiro Experimente
>= Maior ou igual a x >= 8 falso Experimente
<= Menor ou igual a x <= 8 verdadeiro Experimente

Como usar

Os operadores de comparação podem ser usados em estruturas condicionais para comparar valores e agir conforme o resultado:

if (age < 18) text = "demasiado jovem";

Nos capítulos seguintes deste tutorial, você aprenderá mais sobre estruturas condicionais.

Operadores lógicos

Operadores lógicos são usados para determinar a lógica entre variáveis ou valores.

Damos x = 6 e y = 3, a tabela a seguir explica os operadores lógicos:

Operador Descrição Exemplo Teste
&& E (x < 10 && y > 1) é verdadeiro Experimente
|| Ou (x == 5 || y == 5) é falso Experimente
! Não !(x == y) é verdadeiro Experimente

Operador condicional (trivalente)

JavaScript também inclui o operador de operação condicional, que pode atribuir valores a variáveis com base em certas condições.

Sintaxe

variablename = (condition) ? value1:value2

Exemplo

var voteable = (age < 18) ? "demasiado jovem":"suficientemente maduro";

Experimente você mesmo

Se o valor da variável age for menor que 18, o valor da variável voteable será "demasiado jovem", caso contrário, o valor da variável voteable será "suficientemente maduro".

Comparar tipos diferentes

Comparar dados de tipos diferentes pode resultar em resultados inesperados.

Se compararmos uma string com um número, o JavaScript convertirá a string para um número durante a comparação. Uma string vazia será convertida para 0. Strings não numéricas serão convertidas para sempre ser falso do NaN.

Caso Valor Teste
2 < 12 verdadeiro Experimente
2 < "12" verdadeiro Experimente
2 < "Bill" falso Experimente
2 > "Bill" falso Experimente
2 == "Bill" falso Experimente
"2" < "12" falso Experimente
"2" > "12" verdadeiro Experimente
"2" == "12" falso Experimente

Quando compararmos duas strings, "2" é maior que "12", porque (de acordo com a classificação alfabética) 1 é menor que 2.

Para garantir resultados corretos, é necessário converter a variável para o tipo apropriado antes da comparação:

age = Number(age);
if (isNaN(age)) {
    voteable = "erro de entrada";
}
    voteable = (age < 18) ? "demasiado jovem" : "suficientemente maduro";
} 

Experimente você mesmo