为什么 parseInt(NaN, 32) return 是一个数字?

Why does parseInt(NaN, 32) return a number?

parseInt(NaN, 32) === 23895

为什么 return 是一个数字?
(也适用于 nullundefined

23895,以 32 为基数,是 nan

n = 23a = 10。所以 nan = 23 + 10*32 + 23*32^2 = 23895.

我猜 JavaScript “有用” 并在尝试将其解析为数字之前将 NaN 强制转换为字符串。

我讨厌JavaScript。