javascript - 比较数字与javascript中的数组

标签 javascript

无意中,我发现我可以比较一个数组,就好像它是 javascript 中的一个数字。

[3] > 4
false
[3] < 4
true
[3] > [4]
false
[3] < [4]
true
[] > 0
false
[] < 0
false
[] == 0
true
[] === 0
false
[] < 3
true
['3'] == 3
true
['3'] < 3
false
['3'] < 4
true
[3, 4] > [3.5, 2.5]
false
[3, 4] > [2.5, 2.5]
true

用这个概念可以吗?那么它来自哪个规范部分?

(我在 chrome 控制台测试过。)

最佳答案

Implicit coercion在这种情况下,JavaScript 起作用了。比如在a < b的例子中其中 a 和 b 是不同类型,“抽象关系比较”算法“...首先对两个值调用 ToPrimitive 强制转换,如果任一调用的返回结果不是字符串,则使用ToNumber运算规则,并进行数值比较。'

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

相关文章:

Javascript 用 &#39 替换单引号

JavaScript : What is it about my code that means the second image only displays for a nano-second

javascript - sugarcrm 7 pro中的多选依赖下拉菜单

javascript - Ajax 不支持表单标签

javascript - 构造函数错误

php - 动态下拉列表 - PHP 和 Javascript

javascript - 不使用异步等待的异步等待

javascript - Application Insights 日志记录到错误的目标

JavaScript 全局变量数组

javascript - Browserify jQuery 未定义?