将按位运算结果与javascript中的0进行比较
这里我在nodejs中有3个&操作结果:
> 7&2
2
> 10&2
2
> 15&2
2
当我尝试将结果与 0 进行比较时,我得到:
> 7&2 !== 0
1
> 10&2 !==0
0
> 15&2 !==0
1
为什么10&2 !==0得到0?我来自 C/C++。这让我很困惑。谢谢。
回答
在位运算周围使用括号!
> (7&2) !== 0
true
> (10&2) !==0
true
> (15&2) !==0
true
我建议查看有关operator precedence的官方 MDN 页面。