2

我试图弄清楚当我使用 < 或 > 运算符将数字与 javascript 中的非数字字符串进行比较时发生了什么。

当我在 JS 中进行以下比较时

console.log(0 > "y")
console.log(5000 > "y")
console.log(-3 > "y")
console.log("y" > 3)

它总是评估为假。

在这个比较中,每一方发生了什么?y 变成了什么?号码呢?

4

1 回答 1

3

当对不同类型的操作数使用比较运算符时,原始值被强制为数字。在这种情况下,为了比较,“y”变为 NaN,它既不大于、也不小于或等于任何数字。

于 2021-01-17T11:15:51.387 回答