var operand1 = null;
var operand2 = true;
var booleanOperatorReturnsABoolean = operand1 && operand2;
booleanOperatorReturnsABoolean == false || booleanOperatorReturnsABoolean == true
结果: false
在javascript控制台中运行它会显示布尔运算符(&&)有时可能不会产生布尔值
答案 0 :(得分:3)
Because that's how they're designed.
&&
如果是falsy
则返回表达式的左侧,否则返回右侧。
||
返回表达式的左侧(如果它是truthy
,否则返回右侧。
如果返回左侧,则右侧甚至不进行评估,允许您编写以下快捷方式:
var hasValue = "foobar" === someVariable;
hasValue && doSomething();
此处doSomething
仅在somevariable
等于"foobar"
时执行