为什么+"1"返回一个int?

Ben*_*enR 3 javascript

return "1";  // returns string
return +"1"; // returns int
Run Code Online (Sandbox Code Playgroud)

我想知道在使用+" n "将字符串转换为int 时调用此方法的方法.

Poi*_*nty 5

它只是一元运算+符根据语言规范执行的内在类型强制.

  1. expr是评估UnaryExpression的结果.
  2. 返回ToNumber(GetValue(expr)).

因此,虽然从概念上来说它只是与一元相反-,因为一个+操作只是意味着"乘积极1",唯一真正的工作就是将价值强加给一个数字.