I don't understand how &&
, ||
, and !
work... both with 开发者_Go百科bools and other data types. How do you use them?
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, they will evaluate to the last one.
!a
evaluates totrue
ifa
is falsy andfalse
ifa
is truthy.
All values are truthy except the following, which are falsy:
null
undefined
false
+0
-0
NaN
0n
""
document.all
If you want to test that both of two conditions are truthy then use &&:
if (isX && isY)
{
// Do something.
}
If you want to test that one or both of two conditions are truthy then use ||:
if (isX || isY)
{
// Do something.
}
The !
inverts a boolean (a truthy value becomes false and vice versa).
精彩评论