将无穷大与数字javascript比较

时间:2020-08-25 15:25:19

标签: javascript infinity

在将数字与javascript中的infinity属性进行比较时,嘿家伙得到了这个奇怪的结果:

console.log( 6 >= !!Infinity)

因此,这给了我“真实”。

有人可以向我解释这个结果吗?

1 个答案:

答案 0 :(得分:2)

!!Infinity变成true
与数字比较时,true变成1
6 >= 1true


使用!!时,是在将值“转换”为布尔值。可以先将其反转,然后再反转回来。

在JavaScript中,除了false0-00n""nullundefinedNaN

因此,!Infinityfalse,而!!Infinitytrue

请参阅:https://developer.mozilla.org/en-US/docs/Glossary/Truthy


关于在true运算符中将1视为>=的原因,是因为第一个操作数是一个数字,所以true需要转换为{ {1}}。

文档中有关将事物转换为数字的内容是:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Unary_plus