将任何JavaScript值转换为字符串的最短方法是什么?

ebr*_*hez 1 javascript

我有一个功能,说:

setValue: function(myValue) {
  ...
}
Run Code Online (Sandbox Code Playgroud)

调用者可以传递字符串,数字,布尔值或对象.我需要确保在行下面传递的值是一个字符串.这样做最安全的方法是什么?我意识到有很多方法可以将某些类型(例如Date)转换为字符串,但我只是在寻找合理的开箱即用的东西.

我可以写一系列类型的陈述:

if (typeof myValue == "boolean") {}
else if () {}
...
Run Code Online (Sandbox Code Playgroud)

但这可能容易出错,因为类型可能会被遗漏.

Firefox似乎支持编写如下内容:

var foo = 10; foo.toString()
Run Code Online (Sandbox Code Playgroud)

但这适用于所有网络浏览器吗?我需要支持IE 6及更高版本.

简而言之,在覆盖每一种类型时进行转换的最短方法是什么?

-Erik

Dar*_*rov 9

var stringValue = String(foo);
Run Code Online (Sandbox Code Playgroud)

甚至更短

var stringValue = "" + foo;
Run Code Online (Sandbox Code Playgroud)