在 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,它既不大于、小于或等于任何数字。
我想弄清楚当我使用 < 或 > 运算符将数字与 javascript 中的非数字字符串进行比较时到底发生了什么。
当我在JS中进行如下比较时
console.log(0 > "y")
console.log(5000 > "y")
console.log(-3 > "y")
console.log("y" > 3)
它总是计算为 false。
在这个比较中,每一方都发生了什么?你正在变成什么?号码呢?
当对不同类型的操作数使用比较运算符时,原始值被强制转换为数字。在这种情况下,为了比较,“y”变为 NaN,它既不大于、小于或等于任何数字。