Symbol.prototype.toString()
The toString()
method returns a string representing the specified symbol value.
Syntax
toString()
Return value
A string representing the specified symbol value.
Description
The Symbol
object overrides the toString
method of Object
; it does not inherit
Object.prototype.toString()
. For Symbol
values, the toString
method returns a descriptive string in the form "Symbol(description)"
, where description
is the symbol's Symbol.prototype.description
.
The toString()
method requires its this
value to be a Symbol
primitive or wrapper object. It throws a TypeError
for other this
values without attempting to coerce them to symbol values.
Because Symbol
has a [Symbol.toPrimitive]()
method, that method always takes priority over toString()
when a Symbol
object is coerced to a string. However, because Symbol.prototype[Symbol.toPrimitive]()
returns a symbol primitive, and symbol primitives throw a TypeError
when implicitly converted to a string, the toString()
method is never implicitly called by the language. To stringify a symbol, you must explicitly call its toString()
method or use the String()
function.