String.prototype.toString()
The toString()
method returns a string representing the specified string value.
Syntax
toString()
Return value
A string representing the specified string value.
Description
The String
object overrides the toString
method of Object
; it does not inherit
Object.prototype.toString()
. For String
values, the toString
method returns the string itself (if it's a primitive) or the string that the String
object wraps. It has the exact same implementation as String.prototype.valueOf()
.
The toString()
method requires its this
value to be a String
primitive or wrapper object. It throws a TypeError
for other this
values without attempting to coerce them to string values.
Because String
doesn't have a [Symbol.toPrimitive]()
method, JavaScript calls the toString()
method automatically when a String
object is used in a context expecting a string, such as in a template literal. However, String primitive values do not consult the toString()
method to be coerced to strings — since they are already strings, no conversion is performed.
String.prototype.toString = () => "Overridden";
console.log(`${"foo"}`); // "foo"
console.log(`${new String("foo")}`); // "Overridden"