10 && 0 返回0, ''|| 'abc' 返回abc,没有说清楚呢,为什么会返回后面的数值

来源:15-4 变量类型和计算-3 代码演示

qq_慕斯卡0462102

2019-08-26

写回答

1回答

双越

2019-08-26

第一, 要知道如何判断一个操作数是 true 类型还是 false 类型,可以用 !! 来判断。例如 !!10 === true ,所以 10 是 true 类型的;!!0 === false ,所以 0 是 false 类型的;!!'abc' === true ,所以 'abc' 是 true 类型的;其他的也一样。

第二,计算 && 时,先判断第一个操作数是不是 true 类型。如果第一个操作数是 true 类型,则无条件返回第二个操作数,所以 10 && 0 === 0 。如果第一个操作数是 false 类型的,则无条件返回第一个操作数。

第三,计算 || 和计算 && 相反,可以自己推演一下。

1
1
qq_慕斯卡0462102
非常感谢!
2019-09-01
共1条回复

BAT大牛带你横扫初级前端JavaScript面试(第二版)

BAT高级前端工程师亲授,结合真实面试题,提高面试成功几率

4268 学习 · 817 问题

查看课程