ES6 - 逻辑运算符



假设变量 A 的值为 10,B 的值为 20。

示例

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);

以上代码成功执行后,将显示以下输出。

Value of avg: 20 ,value of percentage: 90
(avg > 50)&&(percentage > 80): false
(avg > 50)||(percentage > 80): true
!((avg > 50)&&(percentage > 80)): true

短路运算符

&&|| 运算符用于组合表达式。

只有当两个条件都返回 true 时,&& 运算符才会返回 true。让我们考虑一个表达式 -

var a = 10
var result = ( a<10 && a>5)

在上面的示例中,a<10 和 a>5 是由 && 运算符组合的两个表达式。这里,第一个表达式返回 false。但是,&& 运算符要求两个表达式都返回 true。因此,运算符跳过第二个表达式。

如果其中一个表达式返回 true,则 || 运算符返回 true。例如 -

var a = 10
var result = ( a>5 || a<10)

在上面的代码片段中,两个表达式 a>5 和 a<10 由 || 运算符组合。这里,第一个表达式返回 true。由于第一个表达式返回 true,因此 || 运算符跳过后续表达式并返回 true。

由于 && 和 || 运算符的这种行为,它们被称为短路运算符。

广告