在 Javascript 中对非数字字符串使用比较 (< >) 运算符

Using Comparison (< >) Operators With Non-Numeric Strings in Javascript

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

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

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

它总是计算为 false。

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

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