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

一些例子:

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


当前回答

对于数字字面值,访问属性的点必须与十进制点区分。如果你想在数字文字123上调用to String(),这留给你以下选项:

123..toString()
123 .toString() // space before the dot 123.0.toString()
(123).toString()

其他回答

将任何变量转换为字符串的最简单方法是向该变量添加一个空字符串。

5.41 + ''    // Result: the string '5.41'
Math.PI + '' // Result: the string '3.141592653589793'

其他答案已经涵盖了其他选项,但我更喜欢这个:

s = `${n}`

简短,简洁,已经在许多其他地方使用过(如果您使用的是现代框架/ ES版本),所以任何程序员都能理解它。

这(通常)不是很重要,但与其他方法相比,它似乎也是最快的方法之一。

我喜欢前两个,因为它们更容易阅读。我倾向于使用String(n),但这只是一个风格问题。

除非你有一行

var n = 5;
console.log ("the number is: " + n);

这不言自明吗

如果你好奇哪一个是性能最好的,看看我比较了所有不同的Number ->字符串转换。

看起来2+"或2+""是最快的。

https://jsperf.com/int-2-string

在我看来,n.toString()因其清晰性而获得奖励,并且我不认为它会带来任何额外的开销。