为什么在JavaScript中为false |(!!1)==1

为什么在JavaScript中为false |(!!1)==1,javascript,Javascript,用于在JavaScript中强制转换为布尔值,即,!!1===true 然而,当我做false(!!1)时,它会给我1,但它应该等于false | true==true 这是JavaScript中的错误还是功能 我在Chrome和Firefox中进行了测试。如果你应用了| on false | true,那么它就会变成数字,即,false为0,1为true是,主要应用于位 alert(false|true); 输出 1 如果使用| |,则返回true |对数字(特别是位)进行操作,而假|真

用于在JavaScript中强制转换为布尔值,即,
!!1===true

然而,当我做
false(!!1)
时,它会给我
1
,但它应该等于
false | true==true

这是JavaScript中的错误还是功能


我在Chrome和Firefox中进行了测试。

如果你应用了| on false | true,那么它就会变成数字,即,false为0,1为true是,主要应用于位

alert(false|true);
输出

1

如果使用| |,则返回true


|
对数字(特别是位)进行操作,而
假|真
变为
0 | 1
,即
==1
。我想你的意思是
false | | |(!!1)
(注意
| | |
——其中两个)。以打字错误结束。对Chrome不起作用:
false |(!!1)==1
->
0
它给出了带false的1 | true-->