Logical operator || in javascript, 0 stands for Boolean false?
-
07-12-2019 - |
Вопрос
I happened to know the following code
Here is the code, and very simple:
var test = 0 || -1 ;
console.log(test);
then the output in the console is -1
and somehow i am really new into the javascript,
all i think of is that the 0 stands for Boolean False in JS ,and so ||
operator seems to ignore the 0 and assign the value -1 to the variable
so am i right ? i just want a confirm
Решение
||
—expr1 || expr2
(Logical OR)Returns expr1 if it can be converted to true; otherwise, returns expr2. Thus, when used with Boolean values, || returns true if either operand is true; if both are false, returns false..
&&
—expr1 && expr2
(Logical AND)Returns expr1 if it can be converted to false; otherwise, returns expr2. Thus, when used with Boolean values, && returns true if both operands are true; otherwise, returns false.
All values in Javascript are either "truthy" or "falsy".
The following values are equivalent to false in conditional statements:
- false
- null
- undefined
- The empty string
""
(\''
) - The number 0
- The number NaN
All other values are equivalent to true.
So... var test = 0 || -1 ;
returns -1
.
If it was var test = 0 || false || undefined || "" || 2 || -1
it would return 2
Logical operator on MDN