# 9、逻辑运算符

# &&:逻辑与

&&

在有一个操作数不是布尔值的情况下,&&操作就不一定返回布尔值;此时,它遵循下列规则:

  • 1,如果第一个操作数是对象,则返回第二个操作数;
  • 2,如果第二个操作数是对象,则只有在第一个操作数的求值结果为 true 的情况下才会返回第二个对象;
  • 3,如果两个操作数都是对象,则返回第二个操作数;

# ||:逻辑或

||

如果有一个操作数不是布尔值,逻辑或也不一定返回布尔值;此时,它遵循下列规则:

  • 1,如果第一个操作数是对象,则返回第一个操作数;
  • 2,如果第一个操作数的求值结果为 false ,则返回第二个操作数;
  • 3,如果两个操作数都是对象,则返回第一个操作数;

# 总结

逻辑或操作符都是短路操作符:

  • 对于 && 来说,如果第一个操作数的求值结果为false ,就不会对第二个操作数求值了。
  • 对于 || 来说,如果第一个操作数的求值结果为true,就不会对第二个操作数求值了。
上次更新: 5/14/2020, 7:08:06 PM