这里我在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++。这让我很困惑。谢谢。
答案 0 :(得分:5)
在位运算周围使用括号!
> (7&2) !== 0
true
> (10&2) !==0
true
> (15&2) !==0
true
我建议查看关于 operator precedence 的官方 MDN 页面。