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 -!trueproduzfalsee!falseproduztrue.
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 elseose senãodo 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)