## 概述

`toString()` 方法返回当前 symbol 对象的字符串表示。

## 语法

    symbol.toString();

## 描述

`Symbol` 对象拥有自己的 `toString` 方法，因而遮蔽了原型链上的 `Object.prototype.toString()`。

### symbol 原始值不能转换为字符串

symbol 原始值不能转换为字符串，所以只能先转换成它的包装对象，再调用 `toString()` 方法：

    Symbol("foo") + "bar";
    // TypeError: Can't convert symbol to string
    Symbol("foo").toString() + "bar"
    // "Symbol(foo)bar"，就相当于下面的:
    Object(Symbol("foo")).toString() + "bar"
    // "Symbol(foo)bar"

## 示例

    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) Symbol.prototype.toString | Standard | Initial definition.

## 浏览器兼容性

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

- Desktop
- Mobile

Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari
--- | --- | --- | --- | --- | ---
Basic support | (Yes) | 33.0 (33.0) | 未实现 | 未实现 | 未实现

Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile
--- | --- | --- | --- | --- | --- | ---
Basic support | (Yes) | (Yes) | 33.0 (33.0) | 未实现 | 未实现 | 未实现

## 相关链接

- `Object.prototype.toString()`