无意中,我发现我可以比较一个数组,就好像它是 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/