第一层理解,也是最简单的:
x == 0 && y == 0; //只有当&&两边都返回true才返回true
第二层理解:
js中存在真值和假值:
假值:null、undefined、NaN、0、-0、"空字符串"、false和可以转化为false
真值:除了以上的假值都是真值
只有&&两边都返回的是真值的时候才会返回真值,否则只要有一个返回为假值,就返回假值
第三层理解:
第二层理解说了返回真值和假值,但是没有说真值和假值具体是什么,所以这就是第三层的理解:
如果&&两边,左操作数返回的是假值,那么就将左操作数结果直接返回,不会去计算右操作数。
如果左操作数是真值,那么返回什么就决定在右操作数上,不论右操作数返回什么,都将返回右操作数的结果