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

时间:2014-09-01 11:35:07

标签: javascript

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

但是,当我执行false|(!!1)时,它会给我1,但它应该等于false|true===true

它是JavaScript中的错误还是功能?

我在Chrome和Firefox中测试过。

1 个答案:

答案 0 :(得分:2)

温你申请|在false | true然后它变成数字,即false为0和1为true。 |是 bitwise OR ,主要应用于位。

alert(false|true);

输出

1

JSFIDDLE DEMO

如果你使用||然后它返回true

DEMO