JS中&和&&

 可能是学过一点Java的缘故,今天在做一个判断的时候对JS中的&和&&该用哪个产生了疑惑。特意记录此文。
 Java中&和&&都是逻辑运算符,&&与&的区别为,&&为短路与运算,即当第一个值为false时不再向后计算,可以避免多余运算。
 JavaScript中则完全不同,JS中&是位运算符,而&&为布尔运算符,&&并不直接返回逻辑true或是false,举例:a&&b,a为真时返回b的值(注意这里不是返回b的布尔值),a为假时返回a自己的值(注意这里不是返回a的布尔值)。
 也就是说JS中用&&操作左右两个boolean值时才类似Java中的逻辑运算符。

你可能感兴趣的:(JS中&和&&)