Operadores de comparação geralmente retornam valores únicos true ou false.
Operadores lógicos permitem comparar os resultados de mais de um operador de comparação.
/* expressão 3 */
( (10 < 5) && (4 >= 6) )
/* expressão 1 operador lógico expressão 2
Dez é menor que cinco? Quatro é maior ou igual a seis?
false false
&& - E lógico, este operador testa mais de uma condição.
let n1 = 4;
let n2 = 8;
let x = 5;
let y = 3;
// Verifica se o aluno passou nas duas provas.
let result = (n1 >= x) && (n2 >= y);
let msg;
if (result == true) {
msg = 'Sim, você passou na prova';
} else {
msg = 'Não, você não passou na prova';
}
// OUTPUT: "Não, você não passou na prova"
true && true retorna true
true && false retorna false
false && true retorna false
false && false retorna false
|| - OU lógico, este operador testa pelo menos uma condição.
let n1 = 4;
let n2 = 8;
let x = 5;
let y = 3;
// Verifica se o aluno passou em uma das provas.
let result = (n1 >= x) || (n2 >= y);
let msg;
if (result == true) {
msg = 'Sim, você passou na prova';
} else {
msg = 'Não, você não passou na prova';
}
// OUTPUT: "Sim, você passou na prova"
true || true retorna true
true || false retorna true