# 9、逻辑运算符
# &&:逻辑与
&&
在有一个操作数不是布尔值的情况下,&&操作就不一定返回布尔值;此时,它遵循下列规则:
- 1,如果第一个操作数是对象,则返回第二个操作数;
- 2,如果第二个操作数是对象,则只有在第一个操作数的求值结果为 true 的情况下才会返回第二个对象;
- 3,如果两个操作数都是对象,则返回第二个操作数;
# ||:逻辑或
||
如果有一个操作数不是布尔值,逻辑或也不一定返回布尔值;此时,它遵循下列规则:
- 1,如果第一个操作数是对象,则返回第一个操作数;
- 2,如果第一个操作数的求值结果为 false ,则返回第二个操作数;
- 3,如果两个操作数都是对象,则返回第一个操作数;
# 总结
逻辑或操作符都是短路操作符:
- 对于 && 来说,如果第一个操作数的求值结果为false ,就不会对第二个操作数求值了。
- 对于 || 来说,如果第一个操作数的求值结果为true,就不会对第二个操作数求值了。