gpt4 book ai didi

javascript - 在 javascript 中比较字符串和整数

转载 作者:行者123 更新时间:2023-11-30 17:29:23 24 4
gpt4 key购买 nike

今天在我的 JS 代码中工作时,我发现了以下情况并且无法解释自己应该正确输出什么?

'sachin' > 2 // False

'sachin' < 2 // False

'sachin' == 2 // False

我期待 < 中任一个的结果或 >应该是真的。我错过了什么?

最佳答案

当运行时尝试转换 'sachin'到一个数字,它将失败并最终成为 NaN .该特殊常数导致 false用于与任何其他数值的任何比较。 NaN常量(“非数字”)不等于任何其他值,也不小于或大于任何其他值。

编辑== , < , 和 >运算符都“更喜欢”数字而不是字符串。如果一个操作数是数字而另一个是字符串,他们将始终尝试将字符串解释为数字。操作数出现的顺序无关紧要;重要的是操作数类型。

(严格来说,根据规范,当涉及 < 时, >NaN 的结果应该是 undefined ,但 Firefox 似乎给出了 false 。)

关于javascript - 在 javascript 中比较字符串和整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23478561/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com