当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:

http://img.mukewang.com/climg/5d9b07ce094a38d301550070.jpg

&&运算中遇到false就会停止,所以返回值为0 。

undefined的情况是前面的值都为true或者转化成布尔值后为true的情况,例如:

http://img.mukewang.com/climg/5d9b082409be84a401880066.jpg

字符串0转化为布尔值为true,undefined转化为布尔值为false,所以会返回值是undefined。

如果还是有疑惑,可以看看下面的资料哦:

http://file.mukewang.com/class/assist/206/6299649/wesdqh0rv1/%E9%80%BB%E8%BE%91%E4%B8%8E.pdf

祝学习愉快!

0

0 学习 · 40143 问题

查看课程