逻辑运算符 与(&&):
先计算第一个运算数的结果的布尔结果,如果是假,返回第一个运算数的运算结果,
如果第一个运算数的结果的布尔结果是真,看后面运算数的运算结果的布尔结果,直到遇到假,返回为假的运算结果。
如果全部都是真的话,则整体为真,其他情况为假。
a && b && c...
可见,“与&&” 运算符旨在找假。
逻辑运算符 或( || ):
先计算第一个运算数的结果的布尔结果,如果是假的话,看后面运算数的运算结果的布尔结果,
直到遇到真的情况,返回为真情况的运算结果。
如果第一个运算数的运算结果为真,返回第一个运算数的运算结果。
a || b || c...
可见,“或||” 运算符旨在找真 。
逻辑运算符 非( !):
运算符 ! 是一个一元运算符,它放在运算数之前,用来对运算数的布尔值取反。
var a = !true;
console.log(a)//false
特殊用法:
if(someone.name){
let firstName = someone.name.firstName;
}
简化之后
let firstName = someone.name && someone.name.firstName;
........................分隔符.............................
if(someone.money){
let money = some.money;
}else{
let money = 0;
}
简化之后
let money = someone.money || 0;
总结:
“全真为真,全假为假”,的口号其实是不严谨的,那是建立在用到 if while for等语句的时候,单独用的时候,返回值是结算结果,不一定是布尔值 true false。
var a = 1 || ture;
console.log(a);// 会返回1