English version: //www.javascripttutorial.net/javascript-comparison-operators/ Para comparar dois valores usamos os operadores de comparação [comparison operators]. Confira abaixo uma tabela que mostra os operadores de comparação do JavaScript. Um operador de comparação retorna um valor Booleano [Boolean] indicando que a comparação é verdadeira [true] ou falsa [false]. Veja o exemplo abaixo: O operador de comparação aceita pelo menos dois valores [ou operandos]. Se um dos valores for de um tipo diferente, o JavaScript executará uma conversão com base em regras específicas antes de efetuar a comparação. Vamos abordar cada regra de forma detalhada em tutoriais seguintes. Se os operandos [valores a serem comparados] forem números, o JavaScript fará uma comparação numérica. Por Exemplo: Se os operadores for em números, o Java script faça uma comparação numérica. Por exemplo: Este exemplo é direto. O valor da variável a é 10 e da variável b é 20. A expressão a >= b significa a seguinte pergunta: O valor da variável a é maior ou igual que o valor da variável b?. Como resposta o JavaScript retorna false [falso]. E a expressão a == 10 [o valor de da variável a é igual ao número 10?] retorna como resposta true [verdadeiro]. Se os operandos [valores] forem strings [sequencias de caracteres], o JavaScript comparará os códigos numéricos de cada caractere da string [um por um]. Como JavaScript compara códigos de caracteres numericamente em sequência, você pode receber um resultado inesperado, por exemplo: Nesse exemplo, f2 é menor que f1 porque a letra B tem o código de caractere 66 enquanto a letra a tem o código de caractere 97. Para corrigir isso, você deve primeiro converter as strings em um formato comum, pode ser todas as letras em minúsculas ou maiúsculas e então fazer a comparação como a seguir: Observe que toLowerCase[] é um método do objeto String que converte a string em letras minúsculas. Um operando [um dos valores a ser comparado] é um número enquanto o outro não é, o JavaScript converte o operando não numérico em um número e executa a comparação numericamente. Nesse exemplo acima, a string '20' é convertida para 20 e comparada com o número 10. Outro exemplo: Nesse exemplo, o JavaScript converte a string '10' [que está do lado direito] em um número 10 e compara o resultado da conversão com o número 10 que está no lado esquerdo, trazendo true como resultado da comparação. Se um operando [um dos valores a ser comparado com outro] é um Objeto, o JavaScript chama o método valueOf[] desse objeto para pegar um valor a ser comparado. Se o objeto não tiver o método valueOf[], o JavaScript então chama o método toString[] e usa o valor retornado para comparação. Veja o exemplo a seguir:Comparando Números
Comparando strings [sequências de caracteres]
Comparando um número com um valor de outro tipo
Comparando um Objeto com algo que não é um Objeto
Na primeira comparação o objeto apple possui o método valueOf[] que retorna 10, portanto o JavaScript usa o valor 10 para a comparação.
Na segunda comparação o objeto chama primeiro o método valueOf[]. No entanto, o objeto orange não possui o método valueOf[] então o JavaScript chama o método toString[] para obter o valor retornado 20.
Comparando um Booleano com outro valor
Se um operando é um Booleano, o JavaScript converte ele em um número e compara o valor convertido com o outro operando, o true será convertido em 1 e o false será convertido em 0.
As regras acima, também valem para os operadores de igual == e de diferente !=.
Comparando null e undefined
No JavaScript, null é igual a undefined. Isso significa que a expressão a seguir retorna true.
Comparando NaN com outros valores
Se um dos operadores é um NaN a comparação usando o operador de igualdade == sempre vai retornar false.
Mesmo comparando NaN com outro NaN:
O operador de diferente != retorna true ao comparar o NaN com outro valor:
E também:
Estritamente igual [===] e Estritamente diferente [!==]
Além dos operadores de comparação vistos acima, o JavaScript fornece os operadores estritamente igual === e o estritamente diferente !==.
Os operadores estritamente iguais e estritamente diferentes se comportam como o operador igual e diferente [não igual], exceto que eles não convertem o operando antes da comparação.
Na primeira comparação, usamos o operador de igualdade, o JavaScript converte a sequencia em números e realiza a comparação.
Na segunda comparação, usamos o operador de estritamente igual === e o JavaScript não converte a string para fazer a comparação, resultando em false.
Nesse tutorial você aprendeu como usar os operadores de comparação JavaScript para comparar valores.
Veja o índice de todos os tutoriais JavaScript
Confira uma série de outros tutoriais JavaScript que eu escrevi, clicando no link abaixo: