The toString() method returns a string representing the specified Symbol object.
Syntax
Symbol().toString();
Return value
A string representing the specified Symbol object.
Description
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
Examples
Symbol('desc').toString(); // "Symbol(desc)"
// well-known symbols
Symbol.iterator.toString(); // "Symbol(Symbol.iterator)
// global symbols
Symbol.for('foo').toString() // "Symbol(foo)"
Specifications
| 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. |
Draft |
Browser compatibility
| Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|---|
| Basic support | (Yes) | (Yes) | 36.0 (36.0) | No support | No support | No support |
| Feature | Android | Chrome for Android | Edge | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|---|
| Basic support | (Yes) | (Yes) | (Yes) | 36.0 (36.0) | No support | No support | No support |