Operadores Lógicos
O Javascript suporta 3 operadores lógicos, que são aplicadas aos valores booleanos(true e false).
São: &&, || ou !
ou AND, OR, ou NOT
- Operador
&&
(AND) o valor étrue
, se ambos os dados fornecidos foremtrue
; - Operador
||
(OR) o valor étrue
, se uns dos dados fornecidos fortrue
; - Operador
!
(NOT), operador de negação, inverte o valor dado a ele -!true
produzfalse
e!false
produztrue
.
Exemplo:
- Caso hipotético: Para participar de um curso de programação, você precisa ter 18 anos ou mais e morar em São Paulo.
Nós temos duas condições, você precisa ter 18 anos ou mais AND
morar em São Paulo, ou seja os dois dados fornecidos precisam serem true
. Se sim, você pode participar(true), caso contrário não(false).
se idade >= 18 && cidade == "São Paulo"
"Maravilha, você pode participar do curso"
senão
"Poxa, infelizmente você não tem todos os critérios"
- Para continuarmos, você precisa entender o conceito de
if else
ose senão
do nosso caso hipotético.
Definição MDN
"A condicional if é uma estrutura condicional que executa a afirmação, dentro do bloco, se determinada condição for verdadeira. Se for falsa, executa as afirmações dentro de else."
- Sintaxe
if (condição) afirmação1 [else afirmação2]
Exemplo:
Hoje vai fazer frio?
Se sim, preciso de casaco;
Senão, não preciso de casaco.
let tempoHoje = "frio";
if(tempoHoje == "frio") {
console.log("preciso de casaco");
}else {
console.log("não preciso de casaco");
}
Mas o tempo de São Paulo é louco (rs) e pode fazer frio e calor no mesmo dia, como poderíamos fazer isso utilizando if else?
let tempoHoje = "frio&Calor";
if(tempoHoje == "frio") {
console.log("preciso de casaco");
}else if(tempoHoje == "frio&Calor"){
console.log("Use roupas leves, mas leve casaco");
}else{
console.log("Use roupas leves");
}
Agora que você já entende como funciona o if else
, vamos praticar com os operadores lógicos. Mas antes disso, vamos de revisão.
Operador && (AND) e operador || (OR)
a | b | a && b | a || b |
---|---|---|---|
true | true | true | true |
true | false | false | true |
false | true | false | true |
false | false | false | false |
Operador ! (NOT)
a | !a |
---|---|
true | false |
false | true |
Exemplos
- Já fizemos alguns exemplos com &&, mas a pratica é essencial.
let num1 = 3;
let num2 = 10;
if(num1 >= 15 && num2 >= 4 {
console.log(true);
else {
console.log(false)
}
No exemplo o retorno será false, já que num1 não é maior ou igual 15. E para ser true, precisamos que as duas informações sejam true
- Agora o mesmo exemplo, mudando o operador && por ||
let num1 = 3;
let num2 = 10;
if(num1 >= 15 || num2 >= 4 {
console.log(true);
else {
console.log(false)
}
Com || (OR), o retorno será true, já que para ser true só precisamos de uma informação verdadeira.
num1 é não é maior ou igual a 15 (false), mas num2 é maior ou igual a 4 (true), por isso o retorno true.
- Utilizando o operador ! (NOT) Como já sabemos o operador !, inverte o valor, se for true será false, e se for false será true.
Basicamente isso:
let a = 2
let b = 5
if(!a == 2 && b == 5) {
console.log(true)
else {
console.log(false)
}
O retorno será false.
Vamos analisar, sabemos que a = 2
e b = 5
na condição !a == 2
, a == 2
é true
, mas como a tem o operador de negação !
-> !a
inverte e true
torna false
.
Então !a == 2
é false
e b == 5
é true
Só que temos outro operador lógico, o &&
, como também sabemos para o retorno ser true
, precisamos que os dois sejam true. E no nosso exemplo só b
é true
e a
é false
.
Exercício
Agora que já entendemos como funciona os operadores lógicos e if else, vamos aos exercícios
1 - Pergunte ao usuário a sua idade, certifique de receber apenas números inteiros
2 - Retorne se ele já tem idade para votar ou não
3 - Crie um joguinho com dois participantes, pergunte para ambos "Olá, diga um número qualquer de 0 - 10"
Depois retorne quem informou o maior número, se ambos informaram o mesmo número ou se teve algum que não informou um número válido entre 0 e 10
Top comments (0)