All values in Javascript are either "truthy" or "falsy".
a && b
evaluates to the first falsy operand
a || b
evaluates to the first truthy operand
Both operators will not evaluate any operands after the one the return.
If all operands don't match, it will evaluate to the last one.
!a
evaluates to true
if a
is falsy and false
if a
is truthy.
All values are truthy except the following, which are falsy:
false
+0
-0
NaN
""
null
undefined
document.all
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…