ES6 - Operadores lógicos
Suponha que o valor da variável A seja 10 e B seja 20.
Exemplo
var avg = 20;
var percentage = 90;
console.log("Value of avg: " + avg + " ,value of percentage: " + percentage);
var res = ((avg > 50) && (percentage > 80));
console.log("(avg>50)&&(percentage>80): ", res);
var res = ((avg > 50) || (percentage > 80));
console.log("(avg>50)||(percentage>80): ", res);
var res = !((avg > 50) && (percentage > 80));
console.log("!((avg > 50)&&(percentage>80)): ", res);
A seguinte saída é exibida na execução bem-sucedida do código acima.
Value of avg: 20 ,value of percentage: 90
(avg > 50)&&(percentage > 80): false
(avg > 50)||(percentage > 80): true
!((avg > 50)&&(percentage > 80)): true
Operadores de curto-circuito
o && e || operadores são usados para combinar expressões.
O operador && retorna verdadeiro apenas quando ambas as condições retornam verdadeiras. Vamos considerar uma expressão -
var a = 10
var result = ( a<10 && a>5)
No exemplo acima, a <10 e a> 5 são duas expressões combinadas por um operador &&. Aqui, a primeira expressão retorna falso. No entanto, o operador && requer que ambas as expressões retornem true. Portanto, o operador pula a segunda expressão.
O || operador retorna verdadeiro, se uma das expressões retornar verdadeiro. Por exemplo -
var a = 10
var result = ( a>5 || a<10)
No snippet acima, duas expressões a> 5 e a <10 são combinadas por a || operador. Aqui, a primeira expressão retorna verdadeira. Uma vez que, a primeira expressão retorna true, o || operador ignora a expressão subsequente e retorna verdadeiro.
Devido a este comportamento do && e || operador, eles são chamados de operadores de curto-circuito.