Javascript 将无穷大与数字进行比较
嘿,伙计们,将数字与javascript中的infinity属性进行比较时得到了这个奇怪的结果:Javascript 将无穷大与数字进行比较,javascript,infinity,Javascript,Infinity,嘿,伙计们,将数字与javascript中的infinity属性进行比较时得到了这个奇怪的结果: console.log(6>=!!无限)!!无限变为真 与数字比较时,true变为1 6>=1为true 当您使用,您正在将值“转换”为布尔值。这是通过将其反转,然后将其反转回来来实现的 在JavaScript中,除了false、0、-0、0n、“、null、未定义和NaN,所有值都是“真实的” 所以,!无限为假和!!无限为真 见: 至于为什么在>=运算符中将true视为1,这是因为第一个操作
console.log(6>=!!无限)
!!无限
变为真
与数字比较时,
true
变为1
6>=1
为true
当您使用
代码>,您正在将值“转换”为布尔值。这是通过将其反转,然后将其反转回来来实现的
在JavaScript中,除了false
、0
、-0
、0n
、“
、null
、未定义
和NaN
,所有值都是“真实的”
所以,!无限
为假
和!!无限
为真
见:
至于为什么在>=
运算符中将true
视为1
,这是因为第一个操作数是一个数字,所以true
也需要转换为数字
以下是关于将事物转换为数字的文档说明:!!无限
变为真
与数字比较时,true
变为1
6>=1
为true
当您使用代码>,您正在将值“转换”为布尔值。这是通过将其反转,然后将其反转回来来实现的
在JavaScript中,除了false
、0
、-0
、0n
、“
、null
、未定义
和NaN
,所有值都是“真实的”
所以,!无限
为假
和!!无限
为真
见:
至于为什么在>=
运算符中将true
视为1
,这是因为第一个操作数是一个数字,所以true
也需要转换为数字
以下是文档中关于将事物转换为数字的内容:您的代码给了我未捕获的引用错误:在JS第1行
中没有定义无穷大,因此常量是无穷大
-capitali
!!无穷大
的计算结果为true
我正在运行代码片段,结果为true为什么要将无穷大强制为布尔值?您的代码给了我未捕获的引用错误:无穷大没有定义@JS行1
作为结果常量为无穷大
-capitali
!!无穷大
的计算结果为true
我正在运行代码片段,结果为true为什么要将无穷大强制为布尔值?