(条件1)&&(条件2)
在进行与运算的过程中,如果第一个条件不满足true,那么就不会执行第二个条件
var a;
(1 - 1) && (a = 10);
console.log(a);//undefined
var a;
(0 - 1) && (a = 10);
console.log(a);//10
(条件1)||(条件2)
在进行或运算的过程中,如果第一个条件不满足true,仍然会执行第二个条件下
var a;
(1 - 1) || (a = 10);
console.log(a);//10
!(条件1)
进行非运算的时候计算机自动将变量转为布尔类型 ,所以可以直接通过非运算符将其他变量类型转为布尔型
//将数字类型转为布尔型
var a = 5;
console.log(typeof a);//number
a = !!a;
console.log(typeof a);//boolean
//将字符串类型转为布尔型
var b = "您好";
console.log(typeof b);//string
b = !!b;
console.log(typeof b);//boolean