String.prototype.toString()
toString()
方法是 String
值的方法,它返回此字符串值。
试一试
语法
js
toString()
参数
无。
返回值
表示指定字符串值的字符串。
描述
String
对象覆盖了 Object
的 toString
方法;它没有继承 Object.prototype.toString()
。对于 String
值,toString
方法返回字符串本身(如果它是基本类型)或 String
对象包装的字符串。它与 String.prototype.valueOf()
的实现完全相同。
toString()
方法要求其 this
值为 String
基本类型或包装对象。对于其他 this
值,它会抛出一个 TypeError
,而不会尝试将它们强制转换为字符串值。
因为 String
没有 [Symbol.toPrimitive]()
方法,所以当 String
对象 在需要字符串的上下文中使用时,例如在 模板字面量 中,JavaScript 会自动调用 toString()
方法。但是,String 基本类型 值不会查询 toString()
方法以 强制转换为字符串 — 因为它们已经是字符串,所以不会执行任何转换。
js
String.prototype.toString = () => "Overridden";
console.log(`${"foo"}`); // "foo"
console.log(`${new String("foo")}`); // "Overridden"
示例
使用 toString()
以下示例显示了 String
对象的字符串值
js
const x = new String("Hello world");
console.log(x.toString()); // "Hello world"
规范
规范 |
---|
ECMAScript 语言规范 # sec-string.prototype.tostring |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。