"5.5 | 0 === 5"如何工作?

ben*_*ben 4 javascript

5.5 | 0 === 5工作怎么样?

| 0在这种情况下,OR我怀疑它是否是按位?如果是这样的话,为什么它会在这一点之后切断一切?

Poi*_*nty 11

按位运算符总是强制操作数为32位整数.

该操作被解释为

5.5 | (0 === 5)
Run Code Online (Sandbox Code Playgroud)

是的

5.5 | false
Run Code Online (Sandbox Code Playgroud)

这是强迫的

5.5 | 0
Run Code Online (Sandbox Code Playgroud)

现在5.5转换为32位整数,所以我们有

5 | 0
Run Code Online (Sandbox Code Playgroud)

是的5.

关系运算符比按位运算符更紧密地绑定,这可能令人困惑.如果要比较按位运算符的结果(与添加或乘法不同),则必须明确括号.