将数字转换为字符串的“最佳”方法是什么(从速度优势、清晰度优势、内存优势等方面考虑)?

一些例子:

字符串(n) n.toString() “”+n n+“”


当前回答

如果我必须把所有的事情都考虑进去的话,我还是建议跟随

var myint = 1;
var mystring = myint + '';
/*or int to string*/
myint = myint + ''

恕我直言,这是转换为字符串的最快方式。如果我错了,请指正。

其他回答

如果我必须把所有的事情都考虑进去的话,我还是建议跟随

var myint = 1;
var mystring = myint + '';
/*or int to string*/
myint = myint + ''

恕我直言,这是转换为字符串的最快方式。如果我错了,请指正。

只需使用模板文字语法:

`${this.num}`

显式转换对于语言新手来说非常清楚。正如其他人所建议的那样,如果开发人员不知道强制规则,使用类型强制将导致歧义。最终,开发人员的时间比CPU的时间更昂贵,所以我将以后者为代价来优化前者。话虽如此,在这种情况下,差异可能可以忽略不计,但如果不是这样,我相信有一些不错的JavaScript压缩器可以优化这类事情。

因此,出于上述原因,我选择:n. tostring()或String(n)。String(n)可能是一个更好的选择,因为如果n为空或未定义,它不会失败。

最近刚遇到这个,方法3和4是不合适的,因为字符串是如何复制然后放在一起的。对于一个小程序来说,这个问题是微不足道的,但是对于任何真实的web应用程序来说,我们必须处理频率字符串操作的这个操作可能会影响性能和可读性。

这是阅读的链接。

我使用https://jsperf.com为以下用例创建了一个测试用例:

number + ''
`${number}`
String(number)
number.toString()

https://jsperf.com/number-string-conversion-speed-comparison

截至2018年7月24日,结果显示,在Chrome中,数字+”是最快的,在Firefox中,它与模板字符串文字相关联。

String(number)和number. tostring()都比最快的选项慢95%左右。