Operadores Relacionais
Os operadores relacionais em JavaScript são usados para comparar valores e retornar um valor booleano (verdadeiro ou falso) com base na relação entre eles. Estes operadores são usados principalmente em estruturas condicionais, nas quais decisões devem ser tomadas.
Sabemos que essa definição formal é abstrata quando nos descolamos de um exemplo prático. Num primeiro momento, também é normal estranharmos essa nomenclatura "valor booleano". Mas, com o tempo, nos acostumamos. Então, antes de mostrarmos alguns operadores, vamos a um exemplo de estrutura condicional :
Em um sistema de delivery de saladas personalizadas, o máximo de ingredientes que uma salada pode ter é 10. Quando o usuário tentar adicionar mais do que 10 ingredientes no pedido de uma salada, o sistema não deve permitir a venda e deve alertar o usuário sobre a inconsistência no pedido.
Observe que, após a entrada de dados, é necessário que o sistema verifique se a quantidade de ingredientes é condizente com as regras de negócio do delivery. Pelas regras propostas, não podemos permitir a venda de saladas com mais de 10 ingredientes. Então, no diagrama apresentado, essa é uma situação que envolve uma decisão com duas possíveis saídas:
- Se a quantidade de ingredientes, representada pela variável qtdIngredientes, for maior do que 10, vamos emitir uma mensagem de alerta ao usuário;
- Caso contrário (se a quantidade de ingredientes for menor ou igual a 10), vamos cadastrar o pedido do usuário.
A decisão aqui envolve uma operação relacional, na qual comparamos valores. Nesse exemplo, utilizamos o operados "maior"(>). Mas, além deste, existem outros operadores relacionais. Estes operadores são muito úteis para compararmos valores e tomarmos decisões com base nos resultados dessas comparações.
Vamos à uma listagem de operadores relacionais:
- Maior que (>): Retorna verdadeiro se o valor à esquerda for maior que o valor à direita.
5 > 2; // true
10 > 20; // false
- Maior ou igual (>=): Retorna verdadeiro se o valor à esquerda for maior ou igual ao valor à direita.
10 >= 5; // true
10 >= 10; // true
- Menor que (<): Retorna verdadeiro se o valor à esquerda for menor que o valor à direita.
2 < 5; // true
20 < 10; // false
- Menor ou igual (<=): Retorna verdadeiro se o valor à esquerda for menor ou igual ao valor à direita.
5 <= 10; // true
10 <= 10; // true
- Igual (==): Retorna verdadeiro se o valor à esquerda for igual ao valor à direita. Esse operador verifica apenas o valor dos operandos, não o tipo de dado.
5 == 5; // true
"5" == 5; // true
10 == "10"; // true
- Diferente (!=): Retorna verdadeiro se o valor à esquerda for diferente do valor à direita.
5 != 2; // true
"hello" != "world"; // true
- Estritamente igual (===): Retorna verdadeiro se o valor à esquerda for igual ao valor à direita e se ambos tiverem o mesmo tipo de dados.
5 === 5; // true
"5" === 5; // false
- Estritamente diferente (!==): Retorna verdadeiro se o valor à esquerda for diferente do valor à direita ou se tiverem tipos de dados diferentes.
5 !== 5; // false
"5" !== 5; // true