JavaScript - Symbol.keyFor() 方法



Symbol.keyFor() 方法用于从全局符号注册表中检索与给定符号关联的字符串键。如果使用此方法创建符号,则该符号会在全局符号注册表中使用指定的键进行注册。此注册表允许在不同的模块或程序的不同部分之间共享符号。

Symbol.keyFor() 方法返回符号在全局符号注册表中注册的键。如果在注册表中找不到该符号,则返回 undefined。

语法

以下是 JavaScript Symbol.keyFor() 方法的语法:

Symbol.keyFor(symbol); 

参数

此方法只接受一个参数。具体描述如下:

  • symbol − 要检索其键的符号。

返回值

此方法返回与特定符号对应的键。

示例

示例 1

让我们来看下面的示例,我们将使用 Symbol.for() 创建一个符号并检索输出。

<html>
   <style>
      body {
         font-family: verdana;
         color: #DE3163;
      }
   </style>
   <body>
      <script>
         const x = Symbol.for('Welcome');
         document.write(Symbol.keyFor(x));
      </script>
   </body>
</html>

如果我们执行上述程序,它将在网页上显示文本。

示例 2

考虑另一种情况,我们将创建一个未添加到全局符号注册表的符号并检索输出。

<html>
   <style>
      body {
         font-family: verdana;
         color: #DE3163;
      }
   </style>
   <body>
      <script>
         const x = Symbol('TutorialsPoint');
         document.write(Symbol.keyFor(x));
      </script>
   </body>
</html>

执行上述脚本后,它将在网页上显示文本。

示例 3

在下面的示例中,我们将创建两个具有不同键的符号并进行比较。

<html>
   <style>
      body {
         font-family: verdana;
         color: #DE3163;
      }
   </style>
   <body>
      <script>
         const x = Symbol.for('Hi');
         const y = Symbol.for('Hello');
         document.write(Symbol.keyFor(x) != Symbol.keyFor(y));
      </script>
   </body>
</html>

当我们执行上述脚本时,输出窗口将弹出,显示文本“true”,表明这两个符号不相等。

广告