JavaScript 中的 (' ' || false) 和 (false || ' ') 有什么区别?
What's the difference between ( ' ' || false) and (false || ' ' ) in JavaScript?
在developer.mozilla网站上有一些例子展示了逻辑或运算符的不同用法,但这两个例子引起了我的注意,它们在这里:
o8 = '' || false // f || f returns false
o9 = false || '' // f || f returns ""
为什么这两个 return 不同的结果?我预计它们都是 return false。
所有变量都falsy, so during each evaluation, because the first operand (left side) is coalesced to a falsy value, the operand on the right side of the ||
将被使用。
参见同一页:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_OR
expr1 || expr2
If expr1
can be converted to true
, returns expr1
; else, returns expr2
.
在developer.mozilla网站上有一些例子展示了逻辑或运算符的不同用法,但这两个例子引起了我的注意,它们在这里:
o8 = '' || false // f || f returns false
o9 = false || '' // f || f returns ""
为什么这两个 return 不同的结果?我预计它们都是 return false。
所有变量都falsy, so during each evaluation, because the first operand (left side) is coalesced to a falsy value, the operand on the right side of the ||
将被使用。
参见同一页:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_OR
expr1 || expr2
If
expr1
can be converted totrue
, returnsexpr1
; else, returnsexpr2
.