tutoriais mais recente desenvolvimento web
 

JavaScript Comparação e operadores lógicos


Comparação e operadores lógicos são usados para testar a true ou false .


Operadores de comparação

Os operadores de comparação são usados ​​em declarações lógicas para determinar a igualdade ou diferença entre as variáveis ​​ou valores.

Dado que x = 5 , o quadro que se segue explica os operadores de comparação:

Operador Descrição comparando retorna Tente
== igual a x == 8false Tente "
x == 5true Tente "
x == "5"true Tente "
=== o mesmo valor e igual tipo x === 5true Tente "
x === "5"false Tente "
!= não igual x != 8true Tente "
!== não igual valor ou não igual tipo x !== 5false Tente "
x !== "5"true Tente "
x !== 8true Tente "
> Melhor que x > 8false Tente "
< menos que x < 8true Tente "
>= maior do que ou igual a x >= 8false Tente "
<= menos que ou igual a x <= 8true Tente "

Como ele pode ser usado

Os operadores de comparação pode ser usado em comandos condicionais para comparar valores e tomar medidas em função do resultado:

if (age < 18) text = "Too young";

Você vai aprender mais sobre o uso de instruções condicionais no próximo capítulo deste tutorial.


Operadores lógicos

Os operadores lógicos são utilizados para determinar a lógica entre variáveis ​​ou valores.

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

Operador Descrição Exemplo Tente
&&and (x < 10 && y > 1) is true Tente "
||or(x == 5 || y == 5) is false Tente "
!not !(x == y) is true Tente "

Condicional (ternário)

JavaScript também contém um operador condicional que atribui um valor a uma variável com base em alguma condição.

Sintaxe

variablename = ( condition ) ? value1 : value2  

Exemplo

var voteable = (age < 18) ? "Too young":"Old enough";
Tente você mesmo "

Se a variável idade é um valor inferior a 18, o valor da variável voteable será "muito jovem", caso contrário o valor de voteable será "velho suficiente".


Comparando diferentes tipos

Comparando os dados de tipos diferentes podem dar resultados inesperados.

Ao comparar uma string com um número, JavaScript irá converter a cadeia para um número ao fazer a comparação. Uma cadeia vazia converte a 0. A string não numérica converte em NaN que é sempre falsa.

Caso Valor Experimentar
2 < 12true Tente "
2 < "12"true Tente "
2 < "John"false Tente "
2 > "John"false Tente "
2 == "John"false Tente "
"2" < "12"false Tente "
"2" > "12"true Tente "
"2" == "12"false Tente "

Ao comparar duas cadeias, "2" será superior a "12", por causa (por ordem alfabética) 1 é inferior a 2.

Para garantir um bom resultado, as variáveis ​​devem ser convertidos para o tipo adequado antes da comparação:

age = Number(age);
if (isNaN(age)) {
    voteable = "Error in input";
} else {
    voteable = (age < 18) ? "Too young" : "Old enough";
}
Tente você mesmo "

Operadores bit a bit JavaScript

operadores bit trabalhar em números de 32 bits.

Qualquer operando numérico em que a operação é convertido num número de 32 bits.

O resultado é convertido novamente em um número JavaScript.

Operador Descrição Exemplo Igual a Resultado Decimal
& AND x = 5 & 1 0101 & 0001 0001 1
| OR x = 5 | 1 0101 | 0001 0101 5
~ NOT x = ~ 5  ~0101 1010 10
^ XOR x = 5 ^ 1 0101 ^ 0001 0100 4
<< Left shift x = 5 << 1 0101 << 1 1010 10
>> Right shift x = 5 >> 1 0101 >> 1 0010 2

A tabela acima utilização 4 bits exemplos não assinados. Mas JavaScript usa números assinado de 32 bits.
Devido a isso, em JavaScript, ~ 5 não retornará 10. Ele irá retornar -6:
~ 00000000000000000000000000000101 voltará 11111111111111111111111111111010

Exemplo

x = 5 & 1;

O resultado em X:

1
Tente você mesmo "

Exemplo

x = 5 | 1;

O resultado em X:

5
Tente você mesmo "

Exemplo

x = 5 >> 1;

O resultado em X:

2
Tente você mesmo "

Exemplo

x = 5 << 1;

O resultado em X:

10
Tente você mesmo "

Exemplo

x = ~ 5;

O resultado em X:

-6
Tente você mesmo "

Teste-se com exercícios!

Exercício 1 » Exercício 2» Exercício 3 » Exercício 4» Exercício 5 » Exercício 6»