本文已参与「新人创作礼」活动, 一起开启掘金创作之路。
这篇文章来讲讲 JavaScript逻辑运算符 || 和 && 在代码中的使用。
JavaScript中各种运算符的优先级,从高到低:
1、() 优先级最高
2、一元运算符 ++ – !
3、算数运算符 先 / % 后 + -*
4、关系运算符 > >= < <=
5、相等运算符 == != === !==
6、逻辑运算符 先&& 后||
逻辑 或运算符 || 和 逻辑 与运算符 &&,返回的是一个布尔值,值为true或者false。
a || b , a && b 中的a和b可以是一个值、一个变量、一个表达式,所以也可以是数字,因为本身 数字本身就可以当作是一个(逻辑)值、一个表达式。以下是a 和 b的不同取值情况下, 逻辑运算符 || 和 && 的计算结果:
逻辑与运算a&&b,如果a转化为布尔值之后是 false(运算后结果是false,null,’’,0,undefined等值)则返回结果为 a;
如果a转化为布尔值之后是 true,则返回结果 b;如果使用&&连接了多个值(包括表达式),
如果每个表达式都成立,则返回最后一个表达式的运算结果,如果有至少一个不成立,则返第一个不成立的表达式的运算结果
逻辑或运算 a||b,从左边开始,返回第一个转化为布尔值后值为true的 表达式的运算结果,
如果全部为false则返回最后一个表达式的运算结果
P.S:&&优先级高于||,先运算&&再用&&运算的结果去||运算
比如console.log(3||2&&5||0),会先算2&&5的值为5,然后再3||5----3,最后再3||0----3,所以最终结果为3。
console.log( 5 && 4 ); //当结果为真时,返回第二个为真的值4`
console.log( 0 && 4 ); //当结果为假时,返回第一个为假的值0`
console.log( 5 || 4 ); //当结果为真时,返回第一个为真的值5`
console.log( 0 || 0 ); //当结果为假时,返回第二个为假的值0`
console.log((3||2)&&(5||0)); //5
console.log(!5); //false