<分区>
我很长时间 一直在使用 JavaScript,但刚刚注意到一些我以前从未见过的东西。考虑:
> +[1.5]
1.5
为什么会这样?这是将数组解释为数值的特殊规则,还是特殊炼金术的意外?
另请注意:
> +[1,0]
NaN
当然,这对我来说很有意义,但我希望 +[1]
也是 NaN,因为它不是数字。还是以某种方式归类为数字?
还有这些情况,让我相信我们正在穿越类型强制虫洞(数组 ==> 字符串,字符串 ==> 数字):
> [2] + [4]
"24"
> + [2] + [4]
"24"
> (+[2]) + (+[4])
6
> +[2] + [4,5]
"24,5"
> // which, incidentally, looks like a european-formatted number, but I see
> // that that's just an accident (still another possibility for confusion)
这是故意的吗?