我知道在 JavaScript 中你可以:
var oneOrTheOther = someOtherVar || "these are not the droids you are looking for...";
如果变量 oneOrTheOther
不是 null
、undefined
或 false,则变量将采用第一个表达式的值
。在这种情况下,它被分配给第二条语句的值。
但是,当我们使用逻辑 AND 运算符时,变量 oneOrTheOther
被赋值给了什么?
var oneOrTheOther = someOtherVar && "some string";
当 someOtherVar
为非 false 时会发生什么?
当 someOtherVar
为 false 时会发生什么?
刚刚学习 JavaScript,我很好奇将赋值与 AND 运算符结合使用会发生什么情况。
最佳答案
基本上,逻辑与运算符 (&&
) 如果第一个操作数真实,将返回第二个操作数的值,并且它将返回第一个操作数的值操作数,如果它本身是 falsy,例如:
true && "foo"; // "foo"
NaN && "anything"; // NaN
0 && "anything"; // 0
请注意,falsy 值是那些在 bool 上下文中使用时强制为 false
的值,它们是 null
,undefined
、0
、NaN
、空字符串,当然还有 false
,以及任何其他强制转换为 true
的内容。
关于赋值中的 Javascript AND 运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3163407/