JavaScript - Symbol.description 屬性



作為 JavaScript 語言的補充,Symbol.description 屬性首次包含在 ECMAScript 中。它允許描述 Symbol,這是一種不可變且獨特的獨特資料型別,首次引入 ES6。

在引入 Symbol.description 之前,Symbol 缺乏內在的人類可讀表示,並且實際上是不透明的值。開發人員可以透過使用 Symbol.description 為 Symbol 提供字串描述。此描述不會影響符號的唯一性;兩個單獨的符號可以具有相同的描述。但是,它提供了一種方便的方法來為 Symbol 新增含義或元資料,使它們在除錯和日誌記錄場景中更有用。

語法

以下是 JavaScript Symbol.description 屬性的語法:

A.description;

引數

此屬性不接受任何型別的引數。

返回值

此屬性返回符號物件的可選描述。

示例

示例 1

讓我們看看下面的示例,我們將使用 x.description 返回符號的描述。

<html>
   <style>
      body {
         font-family: Bradley Hand ITC;
         font-size: 30px;
         color: #DE3163;
      }
   </style>
   <body>
      <script>
         const x = Symbol('TutorialsPoint');
         document.write(x.description);
      </script>
   </body>
</html>

如果我們執行上述程式,它將在網頁上顯示文字。

示例 2

考慮下面的示例,我們將遍歷 'tp' 物件中定義的符號並記錄它們的描述。

<html>
   <style>
      body {
         font-family: verdana;
         color: #DE3163;
      }
   </style>
   <body>
      <script>
         const x = Symbol('Hi');
         const y = Symbol('Welcome');
         const tp = {
            [x]: 'a',
            [y]: 'b'
         };
         Object.getOwnPropertySymbols(tp).forEach(z => {
            document.write(z.description + " < br > ");
         });
      </script>
   </body>
</html>

執行上述指令碼後,它將在網頁上顯示文字。

示例 3

在下面的示例中,我們將建立一個函式來檢查符號是否包含描述。

<html>
   <style>
      body {
         font-family: Bradley Hand ITC;
         font-size: 30px;
         color: #DE3163;
      }
   </style>
   <body>
      <script>
         function x(sym) {
            return !!sym.description;
         }
         const a = Symbol('Welcome');
         const b = Symbol();
         document.write(x(a) + " < br > ");
            document.write(x(b));
      </script>
   </body>
</html>

當我們執行指令碼時,它將在網頁上顯示文字。

廣告