在JavaScript中将数字转换为字符串的最佳方法是什么?

3
什么是在JavaScript中将数字转换为字符串的最佳方法?我熟悉以下四种可能性: 示例1:
let number = 2;
let string1 = String(number);

例子2

let number = 2;
let string2 = number.toString();

例子3

let number = 2;
let string3 = "" + number;

示例 4

let number = 2;
let string4 = number + "";

所有示例都得出了相同的结果,但基于性能考虑,哪个选项最好呢?还是个人偏好?谢谢回答。

5
"Best" 指的是什么?易读性?性能? - Federico klez Culloca
2
另一个例子:let number = 2; let string = `${number}` - Faly
2
如果您没有指定用于分类的任何标准,那么询问哪个选项是“最佳”的就没有任何意义。 - CBroe
1个回答

4
使用第二种方法的问题在于,如果该值为null或undefined,则无法正常工作。
第1、3和4种方法基本上是等效的。 ""+value:当一个值被非空字符串包围时,加号运算符可用于将其转换。作为将值转换为字符串的一种方式,我认为它不够描述人们的意图。但这是个人品味问题,有些人更喜欢这种方法而不是String(value)。 String(value):这种方法非常明确:将函数String()应用于value。唯一的问题是,这个函数调用会让一些人感到困惑,特别是那些来自Java的人,因为String也是一个构造函数。

2
如果它是null或undefined,那么它一开始就不是一个数字,对吧? - Niet the Dark Absol
是的,现在你已经硬编码了,如果你动态地接收它或从其他来源获取呢? - Naveen Kumar
那么我希望你执行 if( typeof input !== "number") throw new TypeError("input is not a number!"); - Niet the Dark Absol
当然可以,但是如果我们只考虑这个问题,我建议提供答案 :) - Naveen Kumar
如果您从其他来源接收到它,您可以简单地使用 var num=Number(input); 确保您正在处理一个数字,然后使用 num.toString(); 将其格式化回来。 - Anonymous

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接