在逻辑运算中,转换为boolean类型的值后为false的情况: 0、""、null、false、undefined、NaN,其他都为true。
1. && 找假
结果==》
总结:
&&是找假 (先看第一个表达式的值,如果第一个表达式不是boolean类型,会先将此值隐式转换,转成boolean的值)
如果第一个数转换后的值为false,则直接返第一个数, 不管第二个数是真还是假;
如果第一个数转换后的值为true,则直接返回第二个值,不管第二值是真还是假。
如果两边的操作数都不是布尔类型,会先把操作数转换成布尔类型,返回值是false的那个操作数;如果两边都是false则返回第一个操作数。
2. || 找真
结果==》
总结:
||是找真
如果两个值不是boolean类型的话,是先将当前的对象转换成对应的boolean类型的值;
如果第一个值转换后为true,则直接返回,如果转换后,第一个值为false,则返回第二值。
短路运算的应用: