mozilla

Revision 639625 of Symbol.keyFor()

  • Revision slug: Web/JavaScript/Reference/Global_Objects/Symbol/keyFor
  • Revision title: Symbol.keyFor()
  • Revision id: 639625
  • Created:
  • Creator: ziyunfei
  • Is current revision? No
  • Comment

Revision Content

{{JSRef("Global_Objects", "Symbol")}} {{harmony}}

概述

Symbol.keyFor(sym) 方法用来获取存储在 symbol 注册表中的某个 symbol 的键。

语法

Symbol.keyFor(sym);

参数

sym
存储在 symbol 注册表中的某个 symbol

示例

// 创建一个 symbol 并放入 Symbol 注册表,key 为 "foo"
var globalSym = Symbol.for("foo"); 
Symbol.keyFor(globalSym); // "foo"

// 创建一个 symbol,但不放入 symbol 注册表中
var localSym = Symbol(); 
Symbol.keyFor(localSym); // undefined,所以是找不到 key 的

// well-known symbol 们并不在 symbol 注册表中
Symbol.keyFor(Symbol.iterator) // undefined

规范

Specification Status Comment
{{SpecName('ES6', '#sec-symbol.keyfor', 'Symbol.keyFor')}} {{Spec2('ES6')}} Initial definition.

浏览器兼容性

{{ CompatibilityTable() }}

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support {{ CompatNo() }} {{ CompatGeckoDesktop("33.0") }} {{ CompatNo() }} {{ CompatNo() }} {{ CompatNo() }}
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support {{ CompatNo() }} {{ CompatNo() }} {{ CompatGeckoMobile("33.0") }} {{ CompatNo() }} {{ CompatNo() }} {{ CompatNo() }}

相关链接

  • {{jsxref("Symbol.prototype.for()")}}

Revision Source

<div>
 {{JSRef("Global_Objects", "Symbol")}} {{harmony}}</div>
<h2 id="Summary" name="Summary">概述</h2>
<p><code><strong>Symbol.keyFor(sym)</strong></code> 方法用来获取存储在 symbol 注册表中的某个 symbol 的键。</p>
<h2 id="Syntax" name="Syntax">语法</h2>
<pre class="syntaxbox">
<var>Symbol.keyFor(sym)</var>;</pre>
<h3 id="Parameters">参数</h3>
<dl>
 <dt>
  sym</dt>
 <dd>
  存储在 symbol 注册表中的某个 symbol</dd>
</dl>
<h2 id="Examples">示例</h2>
<pre class="brush: js">
// 创建一个 symbol 并放入 Symbol 注册表,key 为 "foo"
var globalSym = Symbol.for("foo"); 
Symbol.keyFor(globalSym); // "foo"

// 创建一个 symbol,但不放入 symbol 注册表中
var localSym = Symbol(); 
Symbol.keyFor(localSym); // undefined,所以是找不到 key 的

// well-known symbol 们并不在 symbol 注册表中
Symbol.keyFor(Symbol.iterator) // undefined
</pre>
<h2 id="Specifications">规范</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.keyfor', 'Symbol.keyFor')}}</td>
   <td>{{Spec2('ES6')}}</td>
   <td>Initial definition.</td>
  </tr>
 </tbody>
</table>
<h2 id="Browser_compatibility">浏览器兼容性</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>{{ CompatNo() }}</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>{{ CompatNo() }}</td>
    <td>{{ CompatNo() }}</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("Symbol.prototype.for()")}}</li>
</ul>
Revert to this revision