diff options
Diffstat (limited to 'files/zh-cn/web/javascript/reference/global_objects/symbol/tostring/index.html')
-rw-r--r-- | files/zh-cn/web/javascript/reference/global_objects/symbol/tostring/index.html | 116 |
1 files changed, 116 insertions, 0 deletions
diff --git a/files/zh-cn/web/javascript/reference/global_objects/symbol/tostring/index.html b/files/zh-cn/web/javascript/reference/global_objects/symbol/tostring/index.html new file mode 100644 index 0000000000..1ed899232e --- /dev/null +++ b/files/zh-cn/web/javascript/reference/global_objects/symbol/tostring/index.html @@ -0,0 +1,116 @@ +--- +title: Symbol.prototype.toString() +slug: Web/JavaScript/Reference/Global_Objects/Symbol/toString +translation_of: Web/JavaScript/Reference/Global_Objects/Symbol/toString +--- +<div>{{JSRef("Global_Objects", "Symbol")}}</div> + +<h2 id="Summary" name="Summary">概述</h2> + +<p><code><strong>toString()</strong></code> 方法返回当前 symbol 对象的字符串表示。</p> + +<h2 id="Syntax" name="Syntax">语法</h2> + +<pre class="syntaxbox"><var>symbol.toString()</var>;</pre> + +<h2 id="Description" name="Description">描述</h2> + +<p>{{jsxref("Symbol")}} 对象拥有自己的 <code>toString</code> 方法,因而遮蔽了原型链上的 {{jsxref("Object.prototype.toString()")}}。</p> + +<h3 id="symbol_原始值不能转换为字符串">symbol 原始值不能转换为字符串</h3> + +<p>symbol 原始值不能转换为字符串,所以只能先转换成它的包装对象,再调用 <code>toString()</code> 方法:</p> + +<pre class="brush: js">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" +</pre> + +<h2 id="示例">示例</h2> + +<pre class="brush: js">Symbol("desc").toString(); // "Symbol(desc)" + +// well-known symbols +Symbol.iterator.toString(); // "Symbol(Symbol.iterator) + +// global symbols +Symbol.for("foo").toString() // "Symbol(foo)" +</pre> + +<h2 id="规范">规范</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Specification</th> + <th scope="col">Status</th> + <th scope="col">Comment</th> + </tr> + <tr> + <td>{{SpecName('ES6', '#sec-symbol.prototype.tostring', 'Symbol.prototype.toString')}}</td> + <td>{{Spec2('ES6')}}</td> + <td>Initial definition.</td> + </tr> + </tbody> +</table> + +<h2 id="浏览器兼容性">浏览器兼容性</h2> + +<p>{{ CompatibilityTable() }}</p> + +<div id="compat-desktop"> +<table class="compat-table"> + <tbody> + <tr> + <th>Feature</th> + <th>Chrome</th> + <th>Firefox (Gecko)</th> + <th>Internet Explorer</th> + <th>Opera</th> + <th>Safari</th> + </tr> + <tr> + <td>Basic support</td> + <td>{{ CompatVersionUnknown() }}</td> + <td>{{ CompatGeckoDesktop("33.0") }}</td> + <td>{{ CompatNo() }}</td> + <td>{{ CompatNo() }}</td> + <td>{{ CompatNo() }}</td> + </tr> + </tbody> +</table> +</div> + +<div id="compat-mobile"> +<table class="compat-table"> + <tbody> + <tr> + <th>Feature</th> + <th>Android</th> + <th>Chrome for Android</th> + <th>Firefox Mobile (Gecko)</th> + <th>IE Mobile</th> + <th>Opera Mobile</th> + <th>Safari Mobile</th> + </tr> + <tr> + <td>Basic support</td> + <td>{{ CompatVersionUnknown() }}</td> + <td>{{ CompatVersionUnknown() }}</td> + <td>{{ CompatGeckoMobile("33.0") }}</td> + <td>{{ CompatNo() }}</td> + <td>{{ CompatNo() }}</td> + <td>{{ CompatNo() }}</td> + </tr> + </tbody> +</table> +</div> + +<h2 id="See_Also" name="See_Also">相关链接</h2> + +<ul> + <li>{{jsxref("Object.prototype.toString()")}}</li> +</ul> |