The toString() method returns a string representing the specified Symbol object.



Return value

A string representing the specified Symbol object.


The Symbol object overrides the toString method of the Object object; it does not inherit Object.prototype.toString(). For Symbol objects, the toString method returns a string representation of the object.

No string concatenation

While you can call toString() on Symbols, you can't use string concatenation with them:

Symbol('foo') + 'bar';       // TypeError: Can't convert symbol to string


Symbol('desc').toString();   // "Symbol(desc)"

// well-known symbols
Symbol.iterator.toString();  // "Symbol(Symbol.iterator)

// global symbols
Symbol.for('foo').toString() // "Symbol(foo)"


Specification Status Comment
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Symbol.prototype.toString' in that specification.
Standard Initial definition.
ECMAScript Latest Draft (ECMA-262)
The definition of 'Symbol.prototype.toString' in that specification.

Browser compatibility

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support381236 No259
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support Yes38 Yes36259 ?

See also

Document Tags and Contributors

 Contributors to this page: wbamberg, fscholz, jameshkramer, nmve, kdex, eduardoboucas
 Last updated by: wbamberg,