parseInt和javascript中的负零:奇怪的行为?

Sem*_*lon 3 javascript zero parseint

为什么:

parseInt(-0, 10) // 0
parseInt('-0', 10) // -0
Run Code Online (Sandbox Code Playgroud)

是否有一个明智的理由,parseInt不会为两者做-0或这只是一个奇怪的JavaScript?

Bra*_*rad 6

parseInt()适用于字符串.parseInt()在数字上运行会导致它被强制转换为字符串.

(-0).toString()0.

  • 谢谢,这确实解释了它——但它也只是把问题转移了;为什么 (-0).toString() 应该返回 '0' 而不是 '-0'? (2认同)
  • @Semicolon对于这个问题,我不知道.由于它们都使用V8,因此Node.js和Chrome之间的区别也很奇怪. (2认同)