我知道您可以在JavaScript中执行以下操作:
var oneOrTheOther = someOtherVar || "these are not the droids you are looking for...";
其中变量oneOrTheOther将在第一表达式的值,如果它不是null,undefined或false。在这种情况下,它将被分配给第二条语句的值。
oneOrTheOther
null
undefined
false
但是,oneOrTheOther当我们使用逻辑AND运算符时,变量将分配给什么?
var oneOrTheOther = someOtherVar && "some string";
someOtherVar非假的时候会发生什么?假的 时候会发生什么someOtherVar?
someOtherVar
只是学习JavaScript,我很好奇结合AND运算符的赋值会发生什么。
基本上,逻辑与运算符(&&),将返回第二操作数的值,如果第一个是 truthy ,它将返回第一操作数的值,如果它是由本身 falsy ,例如:
&&
true && "foo"; // "foo" NaN && "anything"; // NaN 0 && "anything"; // 0
需要注意的是 falsy 值是那些裹胁到false在布尔上下文中使用时,它们是null,undefined,0,NaN,一个空字符串,当然false,什么都强求来true。
0
NaN
true