当x=0,y=undefined;为什么 x&&y 的结果为0?
来源:6-5 编程练习
面向对象吹牛
2019-10-07 10:04:11
当x=0,y=undefined;为什么 x&&y 的结果为0,不是有undefined就返回undefined的吗?
1回答
好帮手慕星星
2019-10-07
同学你好,
&&运算会先隐式将操作数转化成布尔值,然后再进行判断。
0转化为布尔值为false:
&&运算中遇到false就会停止,所以返回值为0 。
undefined的情况是前面的值都为true或者转化成布尔值后为true的情况,例如:
字符串0转化为布尔值为true,undefined转化为布尔值为false,所以会返回值是undefined。
如果还是有疑惑,可以看看下面的资料哦:
http://file.mukewang.com/class/assist/206/6299649/wesdqh0rv1/%E9%80%BB%E8%BE%91%E4%B8%8E.pdf
祝学习愉快!
相似问题