♫ in the jungle, the mighty jungle, the lion sleeps tonight ♫
O que são Expressões Lógicas?
As expressões lógicas são um conjunto de código que realiza a análise de dois valores para determinar se o resultado dessa expressão é verdadeira (
true
) ou falsa (false
).Como são utilizadas as Expressões Lógicas?
Essas expressões podem ser utilizadas em diversas ocasiões. Os mais comuns são em conjunto com o comando
if
.O comando
if
é utilizado para realizar essa comparação e determina se um certo conjunto de códigos precisa ser executado ou não através do resultado da expressão especificada.A sintaxe do comando
if
é o seguinte:
Javascript:
if (expressao) {
// o código aqui dentro será executado se a 'expressao' for verdadeira
}
A
expressao
especificada em if
precisa ser verdadeira para que o comando dentro de seu escopo seja executado. Do contrário, ele será ignorado pelo programa e seguirá executando os códigos que vierem depois ele.
Javascript:
if (true) {
console.log("Opa!")
}
console.log("Tudo bem?");
// Saída:
// "Opa!"
// "Tudo bem?"
No exemplo acima, a expressão é verdadeira, portanto, é executado o código do escopo do
if
.
Javascript:
if (false) {
console.log("Opa!");
}
console.log("Tudo bem?");
// Saída: "Tudo bem?"
Agora, nesse exemplo, a expressão é falsa, resultando na não execução do código do escopo do
if
.Existe a possibilidade de executar um certo código quando a expressão lógica do if é falsa e ignorar o código quando o resultado for verdadeiro. Veja o exemplo abaixo:
Javascript:
let solteiro = false;
if (solteiro) {
console.log("Eu sou solteiro.");
} else {
console.log("Eu não sou solteiro.");
}
// Saída: "Eu não sou solteiro."
Como pode ver, é utilizado uma palavra-chave
else
depois do escopo do comando if
. Else significa "se não" ou "do contrário" e serve justamente para dizer ao computador:"Se a expressão for verdadeira, executa esse código aqui, se não, executa esse outro código aqui."
O comando
else
sempre é utilizado em conjunto com o comando if
.Uma outra combinação entre as duas palavras-chave é a utilização de
else if
. Veja o exemplo abaixo:
Javascript:
let fruta = "banana";
if (fruta == "goiaba") {
console.log("É goiaba");
} else if (fruta == "banana") {
console.log("É banana");
} else if (fruta == "morango") {
console.log("É morango");
} else {
console.log("É outra fruta");
}
// Saída: "É banana"
Lembre-se que o uso de
else
e else if
é opcional (não é obrigatório). Contudo, é preciso primeiro utilizar if
antes deles.As expressões lógicas podem ser utilizadas também em operações ternárias.
Mais informações:
Tipos de Operadores de Expressões Lógicas
Os tipos de operadores de expressões lógicas que serão apresentados nesse tópico são: de comparação, lógicos, aritméticos e de String.
• Operadores de Comparação
É IGUAL A
Quando se deseja saber se um valor é igual a outro, utiliza-se o operador de comparação
==
(duplo sinal de igual). Veja o exemplo abaixo:
Javascript:
let numeroJogo = 10;
let numeroSorteado = 15;
if (numeroJogo == numeroSorteado) {
console.log("Você ganhou!");
} else {
console.log("Você perdeu!");
}
// Saída: "Você perdeu!"
Aqui é comparado se o valor da variável
numeroJogo
é igual ao valor da variável numeroSorteado
, isto é: Se 10 é igual a 15. Essa expressão resultou em falso. Por isso, o código executado é o do escopo do else
.Não só com números esse operador trabalha, dá para utilizar outros tipos de dado.
Javascript:
let possui_item_3 = true;
if (possui_item_3 == true) {
console.log("Ele possui o item 3");
}
// Saída: "Ele possui o item 3"
Javascript:
let a1 = 20;
let a2 = 20;
if (a1 == a2) {
console.log("É igual");
} else {
console.log("Não é igual");
}
// Saída: "É igual"
Agora, observe a situação abaixo:
Javascript:
const num1 = 5;
const num2 = '5';
if (num1 == num2) {
console.log("Tá certo!");
} else {
console.log("Tá errado!");
}
// Saída: "Tá certo!"
A expressão do
if
do exemplo acima resultou em verdadeiro apesar de os dois valores serem de tipos de dado diferente (um número e um texto [string]). Isso acontece porque o operador de comparação ==
só compara o valor e ignora o tipo de dado.Para que possamos verificar o tipo de dado em conjunto com o valor, veja a seguir o próximo operador de comparação.
É ESTRITAMENTE IGUAL A
Quando se deseja saber se um valor é igual a outro levando em conta também o seu tipo de dado, utiliza-se o operador de comparação
===
(triplo sinal de igual). Veja o exemplo abaixo:
Javascript:
var num1 = 250;
var num2 = "250";
if (num1 === num2) {
console.log("Ok!");
} else {
console.log("Tá errado isso ai...");
}
// Saída: "Tá errado isso ai..."
Como ambas as variáveis possuem o mesmo valor 250, eles possuem o tipo de dado diferente (número e texto/string). Por causa disso, o código do escopo do
else
foi executado.É DIFERENTE DE
Semelhante ao operador de comparação É igual a, quando se deseja saber se um valor é diferente do outro, utiliza-se o operador de comparação
!=
(ponto de exclamação e igual). Veja o exemplo abaixo:
Javascript:
let verdade = true;
let mentira = false;
if (verdade != mentira) {
console.log("É verdade!");
} else {
console.log("É mentira!");
}
// Saída: "É verdade!"
Na expressão do exemplo acima,
true
é diferente de false
, tornando a expressão verdadeira.É ESTRITAMENTE DIFERENTE DE
Semelhante aos operadores É diferente de e assim como É estritamente igual a, esse operador compara tanto os valores quanto os seus tipos de dado, caso ambos se assemelham, o resultado da expressão será verdadeira. É utilizado
!==
(ponto de exclamação e duplo sinal de igual) para realizar essa operação.
Javascript:
if (5 !== '5') {
console.log("Acertou!");
} else {
console.log("Errou!");
}
// Saída: "Acertou!"
MAIOR QUE e MAIOR OU IGUAL A
Quando se deseja saber se um valor é maior que outro, utiliza-se o operador
>
(maior que).
Javascript:
let num1 = 5;
let num2 = 3;
if (num1 > num2) {
console.log(num1 + "é maior que" + num2);
} else {
console.log(num1 + "não é maior que" + num2);
}
// Saída: "5 é maior que 3"
O resultado do exemplo acima é verdadeiro, já que a expressão lógica
5 > 3
é verdadeira.Agora, quando se deseja saber se um número é maior ou igual a outro número, utiliza-se a operação
>=
(maior que e igual) entre esses números.
Javascript:
let num = 12;
let onum = 12;
if (num >= onum) {
console.log("Igualados!");
}
// Saída: "Igualados!"
MENOR QUE e MENOR OU IGUAL A
Semelhante ao operador de maior que e maior ou igual, quando se deseja saber se um valor é menor que outro, utiliza-se o operador
<
(menor que).
Javascript:
let num1 = 5;
let num2 = 3;
if (num1 < num2) {
console.log(num1 + "é menor que" + num2);
} else {
console.log(num1 + "não é menor que" + num2);
}
// Saída: "5 não é menor que 3"
O resultado do exemplo acima é falso, já que a expressão lógica
5 < 3
é falsa.E quando se deseja saber se um número é menor ou igual a outro número, utiliza-se a operação
<=
(menor que e igual) entre esses números.
Javascript:
let num = 21;
let onum = 25;
if (num <= onum) {
console.log("É menor ou igual!");
} else {
console.log("É maior!");
}
// Saída: "É menor ou igual!"
• Operadores Lógicos
Em conjunto com outros tipos de operadores, é possível realizar diversas comparações ao mesmo tempo interligando elas com os operadores lógicos. Veja a seguir os principais operadores que auxiliam na construção de uma expressão lógica.
AND
O operador AND compara dois valores ou conjuntos de expressões, para isso, utiliza-se
&&
(duplo E comercial).
Javascript:
if(10 > 7 && 3 < 4) {
console.log("Correto!");
} else {
console.log("Peraí...");
};
// Saída: "Correto!"
O conjunto de expressão compara duas expressões diferentes. 10 > 7 que resulta em
true
e 3 < 4 que também resulta em true
.Quando temos uma expressão
true && true
, o resultado final do conjunto será verdadeira porque para que um conjunto de expressões ligadas pelo operador AND seja verdadeira, ambas as expressões devem ser verdadeiras. Será o suficiente para que a expressão final seja falsa se uma das expressões resultar em falso.A seguir, você está vendo uma tabela verdade, onde realiza todas as comparações possíveis entre uma expressão A e uma expressão B. O "chapéu" ou o "acento circunflexo" entre as expressões significa AND, assim como vimos anteriormente.
A | B | A ^ B |
V | V | V |
V | F | F |
F | V | F |
F | F | F |
OR
O operador OR, semelhantemente ao operador AND, compara dois valores ou conjuntos de expressões, para isso, utiliza-se
||
(dupla barra vertical). Porém, para que a expressão se satisfaça verdadeira, pelo menos uma das expressões precisa ser verdadeira, diferente do operador AND onde ambas as expressões precisam ser verdadeiras para que o resultado final seja verdadeira. Veja o exemplo:
Javascript:
if (true === true || false !== false) {
console.log("Ok!");
} else {
console.log("Não tá Ok!");
}
// Saída: "Ok!"
Na tabela verdade, o operador OR é conhecido pelo símbolo semelhante a letra V minúscula.
A | B | A v B |
V | V | V |
V | F | V |
F | V | V |
F | F | F |
NOT
O operador NOT (Não ou inverso) inverte o valor lógico de uma variável, é possível fazer isso aplicando um
!
antes da expressão lógica ou de uma variável. Se um valor é verdadeiro, invertê-lo tornará falso e vice-versa.
Javascript:
let solteiro = true;
console.log(!solteiro);
// Saída: false
Javascript:
if (!(5 > 3)) {
console.log("Ok!");
} else {
console.log("Peraí...");
}
// Saída: "Peraí..."
Nesse exemplo acima, foi utilizado parênteses
()
para que torne prioridade a operação da expressão que está entre elas para depois aplicar os operadores externos, ou seja, primeiro faça 5 > 3 = true
, depois inverte o valor lógico do resultado: !true = false
, por isso o código do escopo do else
foi executado.Na tabela verdade, o operador NOT é representado por um
¬
(ALT GR + 6) que significa negação.A | ¬ A |
V | F |
F | V |
Há outros tipos de operadores que podem ser utilizados mas devido a complexidade para a explicação deles, deixarei uma fonte a seguir para que você possa olhar todo esse conteúdo completo:
Última edição: