TypeScript - 逻辑运算符示例



逻辑运算符用于组合两个或多个条件。逻辑运算符也返回布尔值。假设变量 A 的值为 10,B 的值为 20。

运算符 描述 示例
&& (并且) 只有当所有指定的表达式都返回 true 时,运算符才返回 true (A > 10 && B > 10) 为假
|| (或) 如果至少一个指定的表达式返回 true,则运算符返回 true (A > 10 || B >10) 为真
! (非) 运算符返回表达式的结果的反值。例如:!(>5) 返回 false !(A >10 ) 为真

示例

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 时,&& 运算符才返回 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。

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

typescript_operators.htm
广告