为什么
我原本期望它会返回
所以我认为问题的重点是为什么 [] 被转化为 0?特别是考虑到 [] 是真值(即
在Node v7.0.0上测试。
Math.min([])
的值为 0
?我原本期望它会返回
NaN
,因为MDN的Math.min手册中指出:“如果其中至少有一个参数无法转换为数字,则返回 NaN。”所以我认为问题的重点是为什么 [] 被转化为 0?特别是考虑到 [] 是真值(即
!![] === true
)和 Math.min(true) === 1
。 我对此的思考是否正确?在Node v7.0.0上测试。
[].toString()
得到的是""
,规范规定将""
转换成数字会得到0
。 - Andrew Whitaker