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
短路运算符
&& 和 || 运算符用于组合表达式。
&& 运算符仅当两个条件都为真时才返回真。我们来考虑一个表达式 −
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。
由于 && 和 || 运算符的这种行为,它们被称为短路运算符。