ES10中新增的Symbol.prototype.description

阅读时长 5 分钟读完

介绍

在 ES10 中,Symbol.prototype.description 是新增的一个实例属性,它用于获取 Symbol 对象所表示的字符串描述。这个属性是一个只读的字符串类型。

在 ES6 中,我们可以通过 Symbol 的静态方法 description 创建一个带有描述信息的 Symbol 对象,但是无法直接获取这个描述信息。在 ES10 中引入 Symbol.prototype.description 属性,则可以方便地获取到描述信息。

语法

Symbol.prototype.description

使用指南

Symbol.prototype.description 属性的使用指南如下:

获取描述信息

元属性

元属性指 Symbol 对象的内部属性,可以用于自定义和控制 Symbol 行为的属性。在 ES10 中,Symbol.prototype.description 是元属性之一,通常与 for...of 迭代器一起使用。

-- -------------------- ---- -------
-- ------ ------ ------
----- -------- - -
  ------------------- -
    --- ---- - --
    ----- -------- - -
      ------ -
        -- ----- --- -- -
          -------
          ------ - ------ ------------ ---- ----- ----- --
        -
        ---- -- ----- --- -- -
          -------
          ------ - ------ ------------ ---- ----- ----- --
        -
        ---- -
          ------ - ----- ---- --
        -
      -
    --
    ------ ---------
  -
--

-- -------
--- ---- ---- -- --------- -
  ------------------------------
-
展开代码

Symbol.keyFor() 方法

在 ES6 中,我们可以使用 Symbol.keyFor() 方法获取一个全局 Symbol 对象的字符串键名。在 ES10 中,如果该全局 Symbol 对象有描述信息,则 Symbol.keyFor() 方法返回 null,需要使用 Symbol.prototype.description 属性获取描述信息。

总结

ES10 中新增的 Symbol.prototype.description 属性方便了我们获取 Symbol 对象的描述信息,同时成为了元属性之一,与其他元属性一起扩展、自定义以及控制 Symbol 的行为。

示例代码:

-- -------------------- ---- -------
-- ------
----- ------ - -------------- --------------
-------------------------------- -- ------- ------------

-- ---
-- ------ ------ ------
----- -------- - -
  ------------------- -
    --- ---- - --
    ----- -------- - -
      ------ -
        -- ----- --- -- -
          -------
          ------ - ------ ------------ ---- ----- ----- --
        -
        ---- -- ----- --- -- -
          -------
          ------ - ------ ------------ ---- ----- ----- --
        -
        ---- -
          ------ - ----- ---- --
        -
      -
    --
    ------ ---------
  -
--

-- -------
--- ---- ---- -- --------- -
  ------------------------------
-

-- --------------- --
----- ------------ - -------------------
----------------------------------------- -- ------

----- --------------------------- - ------------------------------------
-------------------------------------------------------- -- ----
----------------------------------------------------- -- ----- ---- ------------
展开代码

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6465d9d7968c7c53b0683dca

纠错
反馈

纠错反馈