橋本奈奈未
比较顾名思义,是用来比较两个值的,所以“>” "<" "==" 就是比较运算符,比如“a>b”指的是a大于b,运算的结果是布尔值,也就是true或者false,意思也很直白,就是比较的结果是不是对的,真就是对的意思。比如1 > 2 // false,所以这个比较的结果是错误的,好比数学上说的这是假命题逻辑运算符是用来布尔运算的,它同比较运算符一样也是两个值的运算,“&&”“||”"!"对应的就是逻辑与、或、非,比如“a&&b”就是a与b,这个概念是来自物理学上的电路的,感兴趣可以去了解下,数字电路有0和1,“与门”的意思是都为1的时候输出信号“1”,而在计算机中,布尔型有true和false,正好对应1和0,所以“a&&b”的结果取决于两个值的真和假,都为真时结果为真,而在JS中,真值和假值不一定就是true和false,JS是动态类型的,会有隐式的类型转换,所以你可能会看到"0"&&1 // 为TRUE
var a = {x:1}
a && 1 // TRUETRUE的情况比较多,你可以搜一下JS中的假值都有哪些。