DEV Community

Ray
Ray

Posted on

Parte I.III Operadores Lógicos

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 forem true;
  • Operador ||(OR) o valor é true, se uns dos dados fornecidos for true;
  • Operador !(NOT), operador de negação, inverte o valor dado a ele - !true produz false e !false produz true.

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"
Enter fullscreen mode Exit fullscreen mode
  • Para continuarmos, você precisa entender o conceito de if else o se 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]
Enter fullscreen mode Exit fullscreen mode

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");
}
Enter fullscreen mode Exit fullscreen mode

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");
}
Enter fullscreen mode Exit fullscreen mode

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)
}
Enter fullscreen mode Exit fullscreen mode

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)
}
Enter fullscreen mode Exit fullscreen mode

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)
}
Enter fullscreen mode Exit fullscreen mode

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

Link do Exercício

Top comments (0)