为什么比较(“string”> 0)在JavaScript中返回false?

时间:2018-02-05 04:15:10

标签: javascript string-comparison

由于“string”是一个非空字符串,它不应该返回true吗?这种比较究竟是如何运作的?

2 个答案:

答案 0 :(得分:1)

将String与Number进行比较时,JavaScript会尝试将String转换为Number以进行逻辑比较。

"string"转换为数字会产生NaNNaN > 0false

Comparison Operators

答案 1 :(得分:0)

这是因为类型转换以及NaN > 0为假的简单事实。

当应用于>运算符时,两个操作数都被强制转换为Numbers,因此比较变为

Number("string") > 0相当于NaN > 0,评估为false