在JavaScript中将ANY类型变量转换为String的最快和最安全的方法是什么?

bea*_*tak 14 javascript

关于函数的任何想法将接收一个参数并通过JavaScript中的参数的字符串表示形式返回?

如果给定的对象实现了.toString(),那么该函数应该使用它.否则,该函数可以依赖JavaScript实现提供的内容.

所以我想出的是这样的.

var convert = function (arg) {
  return (new String(arg)).valueOf();
}
Run Code Online (Sandbox Code Playgroud)

Jed*_*idt 18

我不确定你是否需要一个功能,但这将是最短的方式:

function( arg ) {
    return arg + '';
}
Run Code Online (Sandbox Code Playgroud)

否则这是最短的方式:

arg += '';
Run Code Online (Sandbox Code Playgroud)


Cha*_*ang 10

String(null) 返回 - "null"

String(undefined) 返回 - "未定义"

String(10) 回报 - "10"

String(1.3) 返回 - "1.3"

String(true) 返回 - "真实"

我认为这是一种更加优雅的方式.


Jam*_*mes 6

JavaScript中的所有数据类型都继承一个toString方法:

('hello').toString();   // "hello"
(123).toString();       // "123"
([1,2,3]).toString();   // "1,2,3"
({a:1,b:2}).toString(); // "[object Object]"
(true).toString();      // "true"
Run Code Online (Sandbox Code Playgroud)

  • 但这不起作用..(未定义).toString(); //错误(null).toString(); //错误 (7认同)

Ale*_*mov 6

如果针对 ES6 或更高版本,您可以使用模板文字

function (arg) {
    return `${arg}`;
}
Run Code Online (Sandbox Code Playgroud)