Symbol.prototype.description

创建 Symbol 的时候,可以添加一个描述。

  1. const sym = Symbol('foo');

上面代码中,sym的描述就是字符串foo

但是,读取这个描述需要将 Symbol 显式转为字符串,即下面的写法。

  1. const sym = Symbol('foo');
  2. String(sym) // "Symbol(foo)"
  3. sym.toString() // "Symbol(foo)"

上面的用法不是很方便。ES2019 提供了一个实例属性description,直接返回 Symbol 的描述。

  1. const sym = Symbol('foo');
  2. sym.description // "foo"