TypeScript 逻辑运算符示例
逻辑运算符用于组合两个或多个条件。逻辑运算符也会返回一个布尔值。假设变量A的值为10,B的值为20。
操作符 | 描述 | 示例 |
---|---|---|
&& (并且) |
只有所有指定的表达式都返回true时,该操作符才返回true | (A > 10 && B > 10) 是False |
|| (或者) |
只要至少有一个指定的表达式返回true,该操作符就返回true | (A > 10 || B >10) 是True |
! (非) |
该操作符返回表达式结果的反义。例如:!(>5) 返回false | !(A >10 ) 是True |
示例
var avg:number = 20;
var percentage:number = 90;
console.log("Value of avg: "+avg+" ,value of percentage: "+percentage);
var res:boolean = ((avg>50)&&(percentage>80));
console.log("(avg>50)&&(percentage>80): ",res);
var res:boolean = ((avg>50)||(percentage>80));
console.log("(avg>50)||(percentage>80): ",res);
var res:boolean=!((avg>50)&&(percentage>80));
console.log("!((avg>50)&&(percentage>80)): ",res);
在编译时,它将生成以下的JavaScript代码。
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。让我们考虑一个表达式 −
var a = 10
var result = ( a<10 && a>5)
在上面的例子中,一个 < 10
和一个 > 5
是由一个 && 运算符组合而成的两个表达式。在这里,第一个表达式返回 false。然而,&& 运算符需要两个表达式都返回 true。因此,运算符会跳过第二个表达式。||
运算符返回 true,如果其中一个表达式返回 true。例如:
var a = 10
var result = ( a>5 || a<10)
在上面的代码片段中,通过 ||
运算符将两个表达式 a > 5
和a < 10
组合在一起。在这里,第一个表达式返回 true。由于第一个表达式返回 true,所以 || 运算符会跳过后续的表达式并返回 true。
由于这种 &&
和 ||
运算符的行为,它们被称为 短路运算符 。