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”,表明這兩個符號不相等。

廣告