为什么+ str比JS中的str * 1更好将字符串转换为数字?

时间:2016-04-28 03:18:14

标签: javascript semantics

假设我有一个字符串,该值已经是一个数字,例如var str = "1234"现在我想将其转换为数字。

到目前为止,我在互联网上看到了两个技巧,

  1. 使用一元+var num = +str
  2. 使用乘法运算符*var num = str*1
  3. 我想知道哪一个更好。

    正如我从这里接受的答案的评论中看到的那样:Converting Json Results to a Date,似乎最好避免使用*1。这是真的吗?背后的原因是什么?

1 个答案:

答案 0 :(得分:10)

基本上操作较少。

一元加号调用内部toNumber方法,而乘法运算符也调用toNumber,然后对其进行数学运算。

为什么要采取额外步骤?

http://www.ecma-international.org/ecma-262/6.0/#sec-unary-plus-operator

http://www.ecma-international.org/ecma-262/6.0/#sec-applying-the-mul-operator

相关问题