在JS中,a&&b或者a||b返回的是要么是a,要么是b,而不想其他语言中返回的是true或者false
a && b
var a = 1,b = 2
var c = a && b //a此时为true,执行b并返回b的值,c等于b;如果a为false,则返回a不执行b,c等于a
console.log(c)//2
a || b
var a = 1,b = 2
var c = a && b //a此时为true,则返回a的值不执行b;如果a为false,则执行b并返回b的值;
console.log(c)//1
对于js中的或与运算,需要隐式的转换为boolean类型再来运算,转换规则为:
| 数据类型 | true | false |
|---|---|---|
| Boolean | true | false |
| String | 任何非空字符串 | 空字符串 |
| Number | 任何非零数值(NaN) | 0 |
| Object | 任何对象(空对象) | null |
| Undefined | 无 | Undefined |
注:以上规则只在运用在转换为布尔值
本文深入解析了JavaScript中逻辑运算符“&&”和“||”的工作原理,详细说明了它们如何根据操作数的真假值返回操作数本身,而非简单的布尔值。同时,文章列举了不同类型数据转换为布尔值的规则,帮助读者理解JS特有的逻辑运算行为。

被折叠的 条评论
为什么被折叠?



