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 == 8 | false | Tente " |
x == 5 | true | Tente " | ||
x == "5" | true | Tente " | ||
=== | o mesmo valor e igual tipo | x === 5 | true | Tente " |
x === "5" | false | Tente " | ||
!= | não igual | x != 8 | true | Tente " |
!== | não igual valor ou não igual tipo | x !== 5 | false | Tente " |
x !== "5" | true | Tente " | ||
x !== 8 | true | Tente " | ||
> | Melhor que | x > 8 | false | Tente " |
< | menos que | x < 8 | true | Tente " |
>= | maior do que ou igual a | x >= 8 | false | Tente " |
<= | menos que ou igual a | x <= 8 | true | 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 < 12 | true | 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
Teste-se com exercícios!
Exercício 1 » Exercício 2» Exercício 3 » Exercício 4» Exercício 5 » Exercício 6»