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

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

提问人:Luke 提问时间:11/16/2019 最后编辑:Luke 更新时间:1/17/2021 访问量:355

问:

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

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

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

它的计算结果始终为 false。

在这种比较中,双方发生了什么?你变成了什么?数字呢?

JavaScript 比较 真实性

评论


答:

3赞 user1499210 1/17/2021 #1

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