由于“string”是一个非空字符串,它不应该返回true吗?这种比较究竟是如何运作的?
答案 0 :(得分:1)
将String与Number进行比较时,JavaScript会尝试将String转换为Number以进行逻辑比较。
将"string"
转换为数字会产生NaN
,NaN > 0
为false
。
答案 1 :(得分:0)
这是因为类型转换以及NaN > 0
为假的简单事实。
当应用于>
运算符时,两个操作数都被强制转换为Numbers,因此比较变为
Number("string") > 0
相当于NaN > 0
,评估为false
。